Skip to content

Commit 4e09639

Browse files
docs: markdown fixes and edits (#15527)
- **docs: improve admonition for need to add useHttpPath** - **docs: fix list item nesting** - **docs: fix list item nesting** - **docs: improve admonition for authentication** - **docs: tidy and update vault guide** - **docs: improve admonitions** - **docs: improve admonitions** - **docs: content edits, reference links to make copy easier to read** previews: - <https://coder.com/docs/@fix-guides-list-numbers/admin/external-auth> - <https://coder.com/docs/@fix-guides-list-numbers/admin/integrations/island> --------- Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Co-authored-by: EdwardAngert <EdwardAngert@users.noreply.github.com>
1 parent f6d37f6 commit 4e09639

File tree

8 files changed

+198
-209
lines changed

8 files changed

+198
-209
lines changed

docs/admin/external-auth.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,7 @@ CODER_EXTERNAL_AUTH_0_REGEX=github\.company\.org
168168
169169
## JFrog Artifactory
170170

171-
See [this](../admin/integrations/jfrog-artifactory.md) guide on instructions on
172-
how to set up for JFrog Artifactory.
171+
Visit the [JFrog Artifactory](../admin/integrations/jfrog-artifactory.md) guide for instructions on how to set up for JFrog Artifactory.
173172

174173
## Custom scopes
175174

@@ -190,6 +189,16 @@ Multiple providers is an Enterprise and Premium feature.
190189

191190
Below is an example configuration with multiple providers:
192191

192+
<blockquote class="admonition warning">
193+
194+
**Note:** To support regex matching for paths like `github\.com/org`, add the following `git config` line to the [Coder agent startup script](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#startup_script):
195+
196+
```shell
197+
git config --global credential.useHttpPath true
198+
```
199+
200+
</blockquote>
201+
193202
```env
194203
# Provider 1) github.com
195204
CODER_EXTERNAL_AUTH_0_ID=primary-github
@@ -208,11 +217,3 @@ CODER_EXTERNAL_AUTH_1_AUTH_URL="https://github.example.com/login/oauth/authorize
208217
CODER_EXTERNAL_AUTH_1_TOKEN_URL="https://github.example.com/login/oauth/access_token"
209218
CODER_EXTERNAL_AUTH_1_VALIDATE_URL="https://github.example.com/api/v3/user"
210219
```
211-
212-
To support regex matching for paths (e.g. `github\.com/org`), you'll need to add
213-
this to the
214-
[Coder agent startup script](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#startup_script):
215-
216-
```shell
217-
git config --global credential.useHttpPath true
218-
```

docs/admin/integrations/island.md

Lines changed: 63 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@ April 24, 2024
1010

1111
---
1212

13-
[Island](https://www.island.io/) is an enterprise-grade browser, offering a
14-
Chromium-based experience similar to popular web browsers like Chrome and Edge.
15-
It includes built-in security features for corporate applications and data,
16-
aiming to bridge the gap between consumer-focused browsers and the security
17-
needs of the enterprise.
13+
[Island](https://www.island.io/) is an enterprise-grade browser, offering a Chromium-based experience
14+
similar to popular web browsers like Chrome and Edge. It includes built-in
15+
security features for corporate applications and data, aiming to bridge the gap
16+
between consumer-focused browsers and the security needs of the enterprise.
1817

19-
Coder natively integrates with Island's feature set, which include data loss
20-
protection (DLP), application awareness, browser session recording, and single
21-
sign-on (SSO). This guide intends to document these feature categories and how
22-
they apply to your Coder deployment.
18+
Coder natively integrates with Island's feature set, which include data
19+
loss protection (DLP), application awareness, browser session recording, and
20+
single sign-on (SSO). This guide intends to document these feature categories
21+
and how they apply to your Coder deployment.
2322

2423
## General Configuration
2524

@@ -33,90 +32,85 @@ creating browser policies.
3332

3433
## Advanced Data Loss Protection
3534

36-
Integrate Island's advanced data loss prevention (DLP) capabilities with Coder's
37-
cloud development environment (CDE), enabling you to control the “last mile”
38-
between developers CDE and their local devices, ensuring that sensitive IP
39-
remains in your centralized environment.
35+
Integrate Island's advanced data loss prevention (DLP) capabilities with
36+
Coder's cloud development environment (CDE), enabling you to control the
37+
"last mile" between developers' CDE and their local devices,
38+
ensuring that sensitive IP remains in your centralized environment.
4039

4140
### Block cut, copy, paste, printing, screen share
4241

43-
1. [Create a Data Sandbox Profile](https://documentation.island.io/docs/create-and-configure-a-data-sandbox-profile)
42+
1. [Create a Data Sandbox Profile](https://documentation.island.io/docs/create-and-configure-a-data-sandbox-profile).
4443

4544
1. Configure the following actions to allow/block (based on your security
46-
requirements):
45+
requirements).
4746

48-
- Screenshot and Screen Share
49-
- Printing
50-
- Save Page
51-
- Clipboard Limitations
47+
- Screenshot and Screen Share
48+
- Printing
49+
- Save Page
50+
- Clipboard Limitations
5251

53-
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general)
54-
to apply the Data Sandbox Profile
52+
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general) to apply the Data Sandbox Profile.
5553

56-
1. Define the Coder Application group as the Destination Object
54+
1. Define the Coder Application group as the Destination Object.
5755

5856
1. Define the Data Sandbox Profile as the Action in the Last Mile Protection
59-
section
57+
section.
6058

6159
### Conditionally allow copy on Coder's CLI authentication page
6260

63-
1. [Create a URL Object](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general)
64-
with the following configuration:
61+
1. [Create a URL Object](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general) with the following configuration.
6562

66-
- **Include**
67-
- **URL type**: Wildcard
68-
- **URL address**: `coder.example.com/cli-auth`
69-
- **Casing**: Insensitive
63+
- **Include**
64+
- **URL type**: Wildcard
65+
- **URL address**: `coder.example.com/cli-auth`
66+
- **Casing**: Insensitive
7067

71-
1. [Create a Data Sandbox Profile](https://documentation.island.io/docs/create-and-configure-a-data-sandbox-profile)
68+
1. [Create a Data Sandbox Profile](https://documentation.island.io/docs/create-and-configure-a-data-sandbox-profile).
7269

73-
1. Configure action to allow copy/paste
70+
1. Configure action to allow copy/paste.
7471

75-
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general)
76-
to apply the Data Sandbox Profile
72+
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general) to apply the Data Sandbox Profile.
7773

78-
1. Define the URL Object you created as the Destination Object
74+
1. Define the URL Object you created as the Destination Object.
7975

8076
1. Define the Data Sandbox Profile as the Action in the Last Mile Protection
81-
section
77+
section.
8278

8379
### Prevent file upload/download from the browser
8480

85-
1. Create a Protection Profiles for both upload/download
81+
1. Create a Protection Profiles for both upload/download.
8682

87-
- [Upload documentation](https://documentation.island.io/docs/create-and-configure-an-upload-protection-profile)
88-
- [Download documentation](https://documentation.island.io/v1/docs/en/create-and-configure-a-download-protection-profile)
83+
- [Upload documentation](https://documentation.island.io/docs/create-and-configure-an-upload-protection-profile)
84+
- [Download documentation](https://documentation.island.io/v1/docs/en/create-and-configure-a-download-protection-profile)
8985

90-
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general)
91-
to apply the Protection Profiles
86+
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general) to apply the Protection Profiles.
9287

93-
1. Define the Coder Application group as the Destination Object
88+
1. Define the Coder Application group as the Destination Object.
9489

9590
1. Define the applicable Protection Profile as the Action in the Data Protection
96-
section
91+
section.
9792

9893
### Scan files for sensitive data
9994

100-
1. [Create a Data Loss Prevention scanner](https://documentation.island.io/docs/create-a-data-loss-prevention-scanner)
95+
1. [Create a Data Loss Prevention scanner](https://documentation.island.io/docs/create-a-data-loss-prevention-scanner).
10196

102-
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general)
103-
to apply the DLP Scanner
97+
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general) to apply the DLP Scanner.
10498

105-
1. Define the Coder Application group as the Destination Object
99+
1. Define the Coder Application group as the Destination Object.
106100

107-
1. Define the DLP Scanner as the Action in the Data Protection section
101+
1. Define the DLP Scanner as the Action in the Data Protection section.
108102

109103
## Application Awareness and Boundaries
110104

111105
Ensure that Coder is only accessed through the Island browser, guaranteeing that
112-
your browser-level DLP policies are always enforced, and developers cant
106+
your browser-level DLP policies are always enforced, and developers can't
113107
sidestep such policies simply by using another browser.
114108

115109
### Configure browser enforcement, conditional access policies
116110

117-
1. Create a conditional access policy for your configured identity provider.
111+
Create a conditional access policy for your configured identity provider.
118112

119-
> Note: the configured IdP must be the same for both Coder and Island
113+
Note that the configured IdP must be the same for both Coder and Island.
120114

121115
- [Azure Active Directory/Entra ID](https://documentation.island.io/docs/configure-browser-enforcement-for-island-with-azure-ad#create-and-apply-a-conditional-access-policy)
122116
- [Okta](https://documentation.island.io/docs/configure-browser-enforcement-for-island-with-okta)
@@ -129,35 +123,34 @@ screenshots, mouse clicks, and keystrokes.
129123

130124
### Activity Logging Module
131125

132-
1. [Create an Activity Logging Profile](https://documentation.island.io/docs/create-and-configure-an-activity-logging-profile)
126+
1. [Create an Activity Logging Profile](https://documentation.island.io/docs/create-and-configure-an-activity-logging-profile). Supported browser
127+
events include:
133128

134-
Supported browser events include:
129+
- Web Navigation
130+
- File Download
131+
- File Upload
132+
- Clipboard/Drag & Drop
133+
- Print
134+
- Save As
135+
- Screenshots
136+
- Mouse Clicks
137+
- Keystrokes
135138

136-
- Web Navigation
137-
- File Download
138-
- File Upload
139-
- Clipboard/Drag & Drop
140-
- Print
141-
- Save As
142-
- Screenshots
143-
- Mouse Clicks
144-
- Keystrokes
139+
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general) to apply the Activity Logging Profile.
145140

146-
1. [Create a Policy Rule](https://documentation.island.io/docs/create-and-configure-a-policy-rule-general)
147-
to apply the Activity Logging Profile
148-
149-
1. Define the Coder Application group as the Destination Object
141+
1. Define the Coder Application group as the Destination Object.
150142

151143
1. Define the Activity Logging Profile as the Action in the Security &
152-
Visibility section
144+
Visibility section.
153145

154146
## Identity-aware logins (SSO)
155147

156-
Integrate Island's identity management system with Coder's authentication
157-
mechanisms to enable identity-aware logins.
148+
Integrate Island's identity management system with Coder's
149+
authentication mechanisms to enable identity-aware logins.
158150

159151
### Configure single sign-on (SSO) seamless authentication between Coder and Island
160152

161153
Configure the same identity provider (IdP) for both your Island and Coder
162-
deployment. Upon initial login to the Island browser, the user's session token
163-
will automatically be passed to Coder and authenticate their Coder session.
154+
deployment. Upon initial login to the Island browser, the user's session
155+
token will automatically be passed to Coder and authenticate their Coder
156+
session.

docs/admin/integrations/jfrog-artifactory.md

Lines changed: 23 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,11 @@ two type of modules that automate the JFrog Artifactory and Coder integration.
3636
### JFrog-OAuth
3737

3838
This module is usable by JFrog self-hosted (on-premises) Artifactory as it
39-
requires configuring a custom integration. This integration benefits from
40-
Coder's [external-auth](../../admin/external-auth.md) feature and allows each
41-
user to authenticate with Artifactory using an OAuth flow and issues user-scoped
42-
tokens to each user.
39+
requires configuring a custom integration. This integration benefits from Coder's [external-auth](../../admin/external-auth.md) feature allows each user to authenticate with Artifactory using an OAuth flow and issues user-scoped tokens to each user.
4340

4441
To set this up, follow these steps:
4542

46-
1. Modify your Helm chart `values.yaml` for JFrog Artifactory to add,
43+
1. Add the following to your Helm chart `values.yaml` for JFrog Artifactory. Replace `CODER_URL` with your JFrog Artifactory base URL:
4744

4845
```yaml
4946
artifactory:
@@ -62,17 +59,12 @@ To set this up, follow these steps:
6259
scope: "applied-permissions/user"
6360
```
6461
65-
> Note Replace `CODER_URL` with your Coder deployment URL, e.g.,
66-
> <coder.example.com>
67-
6862
1. Create a new Application Integration by going to
69-
<https://JFROG_URL/ui/admin/configuration/integrations/new> and select the
63+
`https://JFROG_URL/ui/admin/configuration/integrations/new` and select the
7064
Application Type as the integration you created in step 1.
7165

72-
![JFrog Platform new integration](../../images/guides/artifactory-integration/jfrog-oauth-app.png)
73-
74-
1. Add a new [external authentication](../../admin/external-auth.md) to Coder by
75-
setting these env variables,
66+
1. Add a new [external authentication](../../admin/external-auth.md) to Coder by setting these
67+
environment variables in a manner consistent with your Coder deployment. Replace `JFROG_URL` with your JFrog Artifactory base URL:
7668

7769
```env
7870
# JFrog Artifactory External Auth
@@ -86,12 +78,7 @@ To set this up, follow these steps:
8678
CODER_EXTERNAL_AUTH_1_SCOPES="applied-permissions/user"
8779
```
8880

89-
> Note Replace `JFROG_URL` with your JFrog Artifactory base URL, e.g.,
90-
> <example.jfrog.io>
91-
92-
1. Create or edit a Coder template and use the
93-
[JFrog-OAuth](https://registry.coder.com/modules/jfrog-oauth) module to
94-
configure the integration.
81+
1. Create or edit a Coder template and use the [JFrog-OAuth](https://registry.coder.com/modules/jfrog-oauth) module to configure the integration:
9582

9683
```tf
9784
module "jfrog" {
@@ -100,7 +87,7 @@ To set this up, follow these steps:
10087
agent_id = coder_agent.example.id
10188
jfrog_url = "https://jfrog.example.com"
10289
configure_code_server = true # this depends on the code-server
103-
username_field = "username" # If you are using GitHub to login to both Coder and Artifactory, use username_field = "username"
90+
username_field = "username" # If you are using GitHub to login to both Coder and Artifactory, use username_field = "username"
10491
package_managers = {
10592
"npm": "npm",
10693
"go": "go",
@@ -111,22 +98,17 @@ To set this up, follow these steps:
11198

11299
### JFrog-Token
113100

114-
This module makes use of the
115-
[Artifactory terraform provider](https://registry.terraform.io/providers/jfrog/artifactory/latest/docs)
116-
and an admin-scoped token to create user-scoped tokens for each user by matching
117-
their Coder email or username with Artifactory. This can be used for both SaaS
118-
and self-hosted(on-premises) Artifactory instances.
101+
This module makes use of the [Artifactory terraform
102+
provider](https://registry.terraform.io/providers/jfrog/artifactory/latest/docs) and an admin-scoped token to create
103+
user-scoped tokens for each user by matching their Coder email or username with
104+
Artifactory. This can be used for both SaaS and self-hosted (on-premises)
105+
Artifactory instances.
119106

120107
To set this up, follow these steps:
121108

122-
1. Get a JFrog access token from your Artifactory instance. The token must be an
123-
[admin token](https://registry.terraform.io/providers/jfrog/artifactory/latest/docs#access-token)
124-
with scope `applied-permissions/admin`.
125-
1. Create or edit a Coder template and use the
126-
[JFrog-Token](https://registry.coder.com/modules/jfrog-token) module to
127-
configure the integration and pass the admin token. It is recommended to
128-
store the token in a sensitive terraform variable to prevent it from being
129-
displayed in plain text in the terraform state.
109+
1. Get a JFrog access token from your Artifactory instance. The token must be an [admin token](https://registry.terraform.io/providers/jfrog/artifactory/latest/docs#access-token) with scope `applied-permissions/admin`.
110+
111+
1. Create or edit a Coder template and use the [JFrog-Token](https://registry.coder.com/modules/jfrog-token) module to configure the integration and pass the admin token. It is recommended to store the token in a sensitive Terraform variable to prevent it from being displayed in plain text in the terraform state:
130112

131113
```tf
132114
variable "artifactory_access_token" {
@@ -150,24 +132,21 @@ To set this up, follow these steps:
150132
```
151133

152134
<blockquote class="info">
135+
153136
The admin-level access token is used to provision user tokens and is never exposed to developers or stored in workspaces.
137+
154138
</blockquote>
155139

156-
If you do not want to use the official modules, you can check example template
157-
that uses Docker as the underlying compute
158-
[here](https://github.com/coder/coder/tree/main/examples/jfrog/docker). The same
159-
concepts apply to all compute types.
140+
If you don't want to use the official modules, you can read through the [example template](https://github.com/coder/coder/tree/main/examples/jfrog/docker), which uses Docker as the underlying compute. The
141+
same concepts apply to all compute types.
160142

161143
## Offline Deployments
162144

163-
See the
164-
[offline deployments](../templates/extending-templates/modules.md#offline-installations)
165-
section for instructions on how to use coder-modules in an offline environment
166-
with Artifactory.
145+
See the [offline deployments](../templates/extending-templates/modules.md#offline-installations) section for instructions on how to use Coder modules in an offline environment with Artifactory.
146+
147+
## Next Steps
167148

168-
## More reading
149+
- See the [full example Docker template](https://github.com/coder/coder/tree/main/examples/jfrog/docker).
169150

170-
- See the full example template
171-
[here](https://github.com/coder/coder/tree/main/examples/jfrog/docker).
172151
- To serve extensions from your own VS Code Marketplace, check out
173152
[code-marketplace](https://github.com/coder/code-marketplace#artifactory-storage).

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy