> For the complete documentation index, see [llms.txt](https://metalbear.com/mirrord/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://metalbear.com/mirrord/docs/sharing-the-cluster/profiles.md). # Profiles Define reusable mirrord config templates for your organization, and choose one for each session. The installation of the mirrord operator defines two types of [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) in your cluster: `MirrordClusterProfile` and `MirrordProfile`. {% hint style="info" %} This feature is available to users on the Team and Enterprise pricing plans. {% endhint %} These resources provide a unified base for users' mirrord configurations. Users can reference a profile in their mirrord config, and mirrord will apply the defined feature adjustments accordingly. ## Cluster-Wide Profiles (`MirrordClusterProfile`) `MirrordClusterProfile` is a cluster-scoped custom resource that provides a shared base configuration available to all namespaces in the cluster. ```yaml apiVersion: profiles.mirrord.metalbear.co/v1alpha kind: MirrordClusterProfile metadata: # This name can be referenced by the user in their mirrord configs. name: example-cluster-profile spec: # A list of adjustments to be made in the user's feature config. # # The adjustments are applied in order. featureAdjustments: # Incoming traffic will be stolen. - change: incoming-steal # All outgoing traffic will be remote. - change: outgoing-remote # All DNS resolution will be remote. - change: dns-remote ``` ## Namespaced Profiles (`MirrordProfile`) `MirrordProfile` is a namespaced custom resource. These profiles are defined within a specific namespace and are only available to workloads running in that namespace. ```yaml apiVersion: profiles.mirrord.metalbear.co/v1alpha kind: MirrordProfile metadata: name: example-profile namespace: example-namespace spec: featureAdjustments: - change: incoming-steal - change: outgoing-remote - change: dns-remote ``` ## Allowed Feature Adjustments The complete list of allowed values for the `featureAdjustments.[].change` field is as follows: 1. `incoming-mirror` - incoming traffic will be mirrored 2. `incoming-steal` - incoming traffic will be stolen 3. `incoming-off` - incoming traffic will not be intercepted 4. `dns-remote` - all DNS resolution will be remote 5. `dns-off` - all DNS resolution will be local 6. `outgoing-remote` - all outgoing traffic will be remote 7. `outgoing-off` - all outgoing traffic will be local ## Selecting a profile Starting from mirrord version 3.136.0, the user can select a mirrord profile in their mirrord config. The profile is referenced by its name. ```json { "profile": "example-profile" } ``` ## Enforcing profiles Use of mirrord profiles can be enforced with [mirrord policies](/mirrord/docs/sharing-the-cluster/policies.md#profile-policy). **Important:** mirrord profiles are applied to the session on the user machine, and should not be used as security features. --- # Agent Instructions This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com. ## Querying This Documentation If you need additional information that is not directly available in this page, you can query the documentation by asking a question. Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters: ``` GET https://metalbear.com/mirrord/docs/sharing-the-cluster/profiles.md?ask=&goal= ``` `ask` is the immediate question: it should be specific, self-contained, and written in natural language. `goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation. Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.