-
Notifications
You must be signed in to change notification settings - Fork 31
replicated cli profile and .replicated docs #3611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NoaheCampbell
wants to merge
7
commits into
main
Choose a base branch
from
replicated-lint2-docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 3 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
24e6b2c
replicaed cli profile and .replicated docs
NoaheCampbell 08c3f38
removed incorrect/outdated documentation
NoaheCampbell 041cad9
docs edits
paigecalvert 0a34966
docs edits
paigecalvert 8a27ace
Update docs/reference/replicated-cli-config-file.md
NoaheCampbell 91c1805
Update docs/reference/replicated-cli-release-lint.mdx
NoaheCampbell ef8bf43
Update docs/reference/replicated-cli-installing.mdx
NoaheCampbell File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| :::note | ||
| The `replicated login` command creates a token after you log in to your vendor account in a browser and saves it to a config file. Alteratively, if you do not have access to a browser, you can set the `REPLICATED_API_TOKEN` environment variable to authenticate. For more information, see [(Optional) Set Environment Variables](/reference/replicated-cli-installing#env-var). | ||
| The `replicated login` command creates a token after you log in to your vendor account in a browser and saves it to a config file. | ||
| ::: |
This file contains hidden or 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 hidden or 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,307 @@ | ||
| # .replicated File Reference | ||
|
|
||
| This topic describes all supported fields in the `.replicated` configuration file. It also provides examples of `.replicated` configuration files. | ||
|
|
||
| ## Application Fields | ||
|
|
||
| ### `appId` (string, optional) | ||
| Your Replicated application ID. You can find this in the Vendor Portal at vendor.replicated.com. | ||
|
|
||
| ### `appSlug` (string, optional) | ||
| Your Replicated application slug. This is the human-readable identifier for your app (more commonly used than `appId`). | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| appSlug: "my-application" | ||
| ``` | ||
|
|
||
| ## Release Configuration | ||
|
|
||
| ### `promoteToChannelIds` (array of strings, optional) | ||
| List of channel IDs to automatically promote releases to when using `replicated release create`. | ||
|
|
||
| ### `promoteToChannelNames` (array of strings, optional) | ||
| List of channel names to automatically promote releases to. More convenient than using IDs. | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| promoteToChannelNames: ["beta", "stable"] | ||
| ``` | ||
|
|
||
| ### `releaseLabel` (string, optional) | ||
| Template string for release labels. Supports Go template syntax. | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| releaseLabel: "v{{.Semver}}" | ||
| ``` | ||
|
|
||
| ## Resource Configuration | ||
|
|
||
| ### `charts` (array of objects, optional) | ||
| Helm charts to include in releases and lint operations. | ||
|
|
||
| **Fields:** | ||
| - `path` (string, required): Path or glob pattern to chart directory (e.g., `./chart` or `./charts/*`). For more information, see [About Path Resolution](#about-path-resolution). | ||
| - `chartVersion` (string, optional): Override the chart version | ||
| - `appVersion` (string, optional): Override the app version | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| charts: | ||
| - path: "./helm-chart" | ||
| - path: "./charts/app-*" # Glob patterns supported | ||
| chartVersion: "1.2.3" | ||
| ``` | ||
|
|
||
| ### `preflights` (array of objects, optional) | ||
| Preflight check specifications to validate before installation. | ||
|
|
||
| **Fields:** | ||
| - `path` (string, required): Path or glob pattern to preflight spec files. For more information, see [About Path Resolution](#about-path-resolution). | ||
| - `valuesPath` (string, optional but recommended): Path to Helm chart directory for template rendering. Required for v1beta3 preflights that use templating. | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| preflights: | ||
| - path: "./preflights/preflight.yaml" | ||
| valuesPath: "./helm-chart" # Chart directory for rendering templates | ||
| - path: "./preflights/**/*.yaml" # Glob pattern | ||
| valuesPath: "./helm-chart" | ||
| ``` | ||
|
|
||
| ### `manifests` (array of strings, optional) | ||
| Glob patterns for Kubernetes manifest files, including support bundle specs. These are searched for support bundle specifications during linting. | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| manifests: | ||
| - "./manifests/**/*.yaml" | ||
| - "./support-bundles/**" | ||
| ``` | ||
|
|
||
| ## Linting Configuration | ||
|
|
||
| ### `repl-lint` (object, optional) | ||
| Configuration for the linting subsystem. | ||
|
|
||
| **Fields:** | ||
| - `version` (integer): Configuration version (currently `1`) | ||
| - `linters` (object): Enable/disable specific linters | ||
| - `tools` (map): Tool versions to use | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| repl-lint: | ||
| version: 1 | ||
| linters: | ||
| helm: | ||
| disabled: false # Enable Helm linting | ||
| preflight: | ||
| disabled: false # Enable preflight linting | ||
| support-bundle: | ||
| disabled: false # Enable support bundle linting | ||
| embedded-cluster: | ||
| disabled: true # Disable embedded cluster linting | ||
| kots: | ||
| disabled: true # Disable KOTS linting | ||
| tools: | ||
| helm: "3.14.4" # Specific version | ||
| preflight: "latest" # Use latest version | ||
| support-bundle: "0.123.9" | ||
| ``` | ||
|
|
||
| ## Linter Configuration | ||
|
|
||
| Each linter under `repl-lint.linters` supports: | ||
| - `disabled` (boolean): Set to `true` to disable the linter, `false` or omit to enable | ||
|
|
||
| **Available linters:** | ||
| - `helm`: Validates Helm chart syntax and best practices | ||
| - `preflight`: Validates preflight specification syntax | ||
| - `support-bundle`: Validates support bundle specification syntax | ||
| - `embedded-cluster`: Validates embedded cluster configurations (disabled by default) | ||
| - `kots`: Validates KOTS manifests (disabled by default) | ||
|
|
||
| ## Tool Versions | ||
|
|
||
| The `tools` map specifies which versions of linting tools to use: | ||
|
|
||
| - `helm`: Helm CLI version for chart validation | ||
| - `preflight`: Preflight CLI version for preflight spec validation | ||
| - `support-bundle`: Support Bundle CLI version for support bundle validation | ||
|
|
||
| **Version formats:** | ||
| - `"latest"`: Automatically fetch the latest stable version from GitHub | ||
| - Semantic version: Specific version (e.g., `"3.14.4"`, `"v0.123.9"`) | ||
|
|
||
| **Example:** | ||
| ```yaml | ||
| tools: | ||
| helm: "latest" # Always use latest Helm | ||
| preflight: "0.123.9" # Pin preflight to specific version | ||
| support-bundle: "latest" | ||
| ``` | ||
|
|
||
| ## About Path Resolution | ||
|
|
||
| ### Relative Paths | ||
| All paths in the configuration file are resolved relative to the directory containing the `.replicated` file. This ensures commands work correctly regardless of where they are invoked. | ||
|
|
||
| ### Glob Patterns | ||
| Paths support glob patterns for flexible resource discovery: | ||
| - `*`: Matches any characters except `/` | ||
| - `**`: Matches any characters including `/` (recursive) | ||
| - `?`: Matches any single character | ||
| - `[abc]`: Matches any character in brackets | ||
| - `{a,b}`: Matches any of the comma-separated patterns | ||
|
|
||
| **Examples:** | ||
| ```yaml | ||
| charts: | ||
| - path: "./charts/*" # All immediate subdirectories | ||
| - path: "./services/**/chart" # Any chart directory under services | ||
|
|
||
| preflights: | ||
| - path: "./checks/**/*.yaml" # All YAML files recursively | ||
|
|
||
| manifests: | ||
| - "./*/manifests/**" # Manifests in any top-level directory | ||
| ``` | ||
|
|
||
| ## Examples | ||
|
|
||
| ### All Fields | ||
|
|
||
| ```yaml | ||
| # Application identification | ||
| appId: "" # Your application ID (optional) | ||
| appSlug: "" # Your application slug (optional, more commonly used) | ||
|
|
||
| # Automatic promotion channels | ||
| promoteToChannelIds: [] # List of channel IDs to promote to | ||
| promoteToChannelNames: [] # List of channel names to promote to (e.g., ["beta", "stable"]) | ||
|
|
||
| # Helm charts | ||
| charts: | ||
| - path: "./helm-chart" # Path or glob pattern to chart directory | ||
| chartVersion: "" # Override chart version (optional) | ||
| appVersion: "" # Override app version (optional) | ||
|
|
||
| # Preflight checks | ||
| preflights: | ||
| - path: "./preflights/**" # Path or glob pattern to preflight specs | ||
| valuesPath: "./helm-chart" # Path to helm chart for template rendering (required for v1beta3 preflights) | ||
|
|
||
| # Kubernetes manifests and support bundles | ||
| manifests: ["./support-bundles/**"] # Glob patterns for manifest files | ||
|
|
||
| # Release labeling | ||
| releaseLabel: "" # Label pattern for releases (e.g., "v{{.Semver}}") | ||
|
|
||
| # Linting configuration | ||
| repl-lint: | ||
| version: 1 | ||
| linters: | ||
| helm: | ||
| disabled: false # Enable/disable Helm linting | ||
| preflight: | ||
| disabled: false # Enable/disable preflight linting | ||
| support-bundle: | ||
| disabled: false # Enable/disable support bundle linting | ||
| tools: | ||
| helm: "latest" # Helm version (semantic version or "latest") | ||
| preflight: "latest" # Preflight version (semantic version or "latest") | ||
| support-bundle: "latest" # Support bundle version (semantic version or "latest") | ||
| ``` | ||
|
|
||
| ### Single-Chart | ||
|
|
||
| ```yaml | ||
| appSlug: "my-application" | ||
|
|
||
| charts: | ||
| - path: "./chart" | ||
|
|
||
| manifests: | ||
| - "./manifests/**/*.yaml" | ||
|
|
||
| repl-lint: | ||
| version: 1 | ||
| linters: | ||
| helm: | ||
| disabled: false | ||
| tools: | ||
| helm: "latest" | ||
| ``` | ||
|
|
||
| ### Multi-Chart with Preflights | ||
|
|
||
| ```yaml | ||
| appSlug: "complex-app" | ||
| promoteToChannelNames: ["beta"] | ||
|
|
||
| charts: | ||
| - path: "./charts/frontend" | ||
| - path: "./charts/backend" | ||
| - path: "./charts/database" | ||
|
|
||
| preflights: | ||
| - path: "./preflights/infrastructure.yaml" | ||
| valuesPath: "./charts/backend" | ||
| - path: "./preflights/networking.yaml" | ||
| valuesPath: "./charts/frontend" | ||
|
|
||
| manifests: | ||
| - "./support-bundles/**" | ||
|
|
||
| repl-lint: | ||
| version: 1 | ||
| linters: | ||
| helm: | ||
| disabled: false | ||
| preflight: | ||
| disabled: false | ||
| support-bundle: | ||
| disabled: false | ||
| tools: | ||
| helm: "3.14.4" | ||
| preflight: "latest" | ||
| support-bundle: "latest" | ||
| ``` | ||
|
|
||
| ### Monorepo Service Configuration | ||
|
|
||
| ```yaml | ||
| # Parent .replicated at monorepo root | ||
| appSlug: "enterprise-platform" | ||
| promoteToChannelNames: ["stable"] | ||
|
|
||
| repl-lint: | ||
| version: 1 | ||
| linters: | ||
| helm: | ||
| disabled: false | ||
| preflight: | ||
| disabled: false | ||
| tools: | ||
| helm: "latest" | ||
| preflight: "latest" | ||
| ``` | ||
|
|
||
| ```yaml | ||
| # Child .replicated in services/auth/ | ||
| charts: | ||
| - path: "./chart" | ||
|
|
||
| preflights: | ||
| - path: "./preflights/*.yaml" | ||
| valuesPath: "./chart" | ||
| ``` | ||
|
|
||
| ### Minimal Configuration | ||
|
|
||
| ```yaml | ||
| # Minimal config - relies on auto-detection | ||
| appSlug: "simple-app" | ||
| ``` |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@NoaheCampbell Is this still accurate? As in, is using a replicated profile for auth not supported for Docker?