Helm Configuration
General Settings
license
You'll receive a license key as part of your subscription to Okteto. If you haven't received it, please open a support ticket.
If you are interested in evaluating Okteto, sign up for our Free Tier (5 seats, 1 year), no credit card required.
license: XXXXX
You can also use a secret to store the license.
subdomain
Okteto's automatic SSL endpoints allows you to expose secure and unique public endpoints for your development environments. By default, all endpoints created by Okteto will use a combination of the name of the app, the namespace, and the subdomain.
For example, if you have a development environment named app in the cindy namespace, it will be accessible at https://app-cindy.example.com if subdomain is example.com.
subdomain: "example.com"
Okteto's frontend and API services will be also accessible via https://okteto.$SUBDOMAIN.
Once Okteto is installed, you can use kubectl to retrieve the public address of the Okteto NGINX Ingress Controller:
kubectl get service -l=app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/component=controller --namespace=okteto
The output will look something like this:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
okteto-ingress-nginx-controller LoadBalancer 10.0.7.73 34.68.230.234 80:30795/TCP,443:32481/TCP,1234:30885/TCP 5m
You'll need to take the EXTERNAL-IP address to create a DNS entry for *.$SUBDOMAIN.
You can overwrite Okteto's public URL using the publicOverride field.
publicOverride
Use this property to override the Public URL where Okteto is available. This option replaces okteto.$SUBDOMAIN with your FQDN of choice.
publicOverride: "example.com"
Once you set this in your Helm configuration file, make sure to point the Okteto Ingress Controller's IP address to this domain using your DNS provider. The IP address can be found by running the following command (like we did during the install phase):
kubectl get service -l=app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/component=controller --namespace=okteto
Important: When using publicOverride, the certificate referred by wildcardCertificate.name must be valid for publicOverride, registry.$SUBDOMAIN and buildkit.$SUBDOMAIN.
When publicOverride is set, an additional component is deployed for Okteto Private Endpoints feature.
You can configure its settings using the privateEndpoints section.
When setting your auth provider, the authentication callback URL and origin URL will change to the following:
Callback URL:
https://${publicOverride}/auth/callback
https://private-endpoints.${subdomain}/auth/callback
Origin URL:
https://${publicOverride}
https://private-endpoints.${subdomain}
auth
Use the auth property to specify which users can access Okteto and the method they can use for logging in.
Okteto provides OAuth2 integrations for the following auth providers:
Additionally, Okteto provides a single user authentication method based on a Token for initial evaluations.
Theme
Use this property to customize the logo and the colors of the sidebar to match your team's identity or your favorite colors.
logo: The logo displayed at the far top left of the Okteto UI. The value can be a url or a Base64 encoded image.primary: The primary color of the sidebar. This is used for the color of the sidebar. The value can be a HTML color name (e.g. blue, red) or a hexadecimal code.secondary: The secondary color of the sidebar. This is used for the icons and the text displayed in the sidebar. The value can be a HTML color name (e.g. blue, red) or a hexadecimal code.
theme:
logo: http://example.com/icon.png
primary: \#EFF3F2
secondary: black
Okteto Components
api
The API service. Account and Kubernetes credentials management, namespace creation, and sharing, deployment via the catalog, etc...
annotations: Annotations to add to the API pods.extraEnv: Environment variables to be set on the API containers.labels: Labels to add to the API pods.priorityClassName: The priority class to be used by the API pods. The PriorityClass must already exist in your cluster before using this setting. This value has precedence overglobals.priorityClassNameif both are set. If this value is not set, the pods will inherit the priority class defined by the value set inglobals.priorityClassName.replicaCount: The number of API pods. It defaults to 2.resources: The resources for the API pods.
api:
extraEnv:
- name: NO_PROXY
value: ".example.com"
replicaCount: 2
resources:
requests:
cpu: 100m
memory: 128Mi