okteto / docs Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Once the onboarding is released the changes in the UI must be reflected on the docs screenshots (https://github.com/okteto/app/pull/3481)
When a new Okteto self-hosted version becomes available we need to automatically generate a new version of the docs alongside the release notes. We currently do it manually.
This is somewhat related to #176 and we could use this data as the source of truth and pick the last 6 versions automatically from there.
We need a matrix to easily discover which kubernetes versions support each okteto version. Right now, it's hard to get this information. As a sample, this is what nginx ingress controller does:
https://github.com/kubernetes/ingress-nginx/tree/helm-chart-4.4.0#supported-versions-table
We had a discussion in our community forum about the helm chart support in Okteto's built-in registry. After some testing, we support that scenario and it would be nice to include some documentation explaining how to use it. I'll include some information on how it works but feel free to ping me directly if you have any question about how it works
The use case is to use Okteto's registry to store helm chart artifacts in the same way we store images. To do so, you can follow the next intructions.
helm registry login -u <user> <okteto-registry-url>
Password:
Login Succeeded
helm package <folder-with-chart-definition>
Successfully packaged chart and saved it to: <path-to-helm-artifacts-tgz>
helm push <path-to-helm-artifacts-tgz> oci://<okteto-registry-url>/<okteto-namespace>
Pushed: <okteto-registry-url>/<okteto-namespace>/<helm-chart-name>:<version>
Digest: sha256:07805....
helm pull oci://<okteto-registry-url>/<okteto-namespace>/<helm-chart-name> --version <version>
Pulled: <okteto-registry-url>/<okteto-namespace>/<helm-chart-name>:<version>
Digest: sha256:0780569....
In the community forum I added an example on how to do it with Cloud and one of the helm charts defined in the movies example. I'll include it also here to illustrate how to apply the steps defined above. For this example, I will assume the movies repo is cloned locally.
helm registry login -u <user> registry.cloud.okteto.net
Password:
Login Succeeded
helm package api/chart
Successfully packaged chart and saved it to: /Users/xxxx/xxxxx/xxxxx/xxxx/movies-api-0.1.0.tgz
helm push /Users/xxxx/xxxxx/xxxxx/xxxxxx/movies-api-0.1.0.tgz oci://registry.cloud.okteto.net/<okteto-namespace>
Pushed: registry.cloud.okteto.net/<okteto-namespace>/movies-api:0.1.0
Digest: sha256:07805....
helm pull oci://registry.cloud.okteto.net/<okteto-namespace>/movies-api --version 0.1.0
Pulled: registry.cloud.okteto.net/<okteto-namespace>/movies-api:0.1.0
Digest: sha256:0780569....
@maroshii maybe we can collaborate with Dan on a blog post (or video) on how/why to use them? It could be cool way to showcase our community.
For dependencies, we are not documenting:
wait
👋 - This might be just my confusion, but it seemed valuable to capture in case it was helpful 😊
When I am deploying Okteto, according to https://www.okteto.com/docs/self-hosted/install/deployment/ (or perhaps one of the Cloud Provider Guides) I'm seeing the term "Configuration file". In the cloud guides it might also be "Okteto GKE configuration file" or "Okteto EKS configuration file"
In the next step, I use Helm and I specify this file. It is (I believe a "Helm configuration file"), but that wasn't obvious to me at first. I thought it was a specific "okteto" file.
Where I got really confused is when I was told to "...add the following to your Helm configuration file..." (ref) I wasn't sure if my "Helm configuration file" was in fact the same file I used to install Okteto in the first place, or something else? 😅
It's also mentioned in a few other spots, sometimes referred to as "config.yaml", but I'm pretty sure it's the same thing.
Would it be possible to use a more consistent term for this file, and perhaps always link back to a single place that explains it?
We need to add some kind of documentation, probably in the form of a blog post or something similar in the okteto community. This post should include a common use case for working with the okteto registry as a chart store where in a particular repo you have the definition of the charts and in each merge these are packed and stored in the okteto registry. After that, the developers work with in their developments making pull of the last changes of the charts loaded in the okteto registry.
more context:
Related to https://github.com/okteto/app/issues/3231
Show in the docs how history can be shared across iterations a dev container for an app. For this persistent volume feature should be enabled.
Solution creates a volume where history is stored and restored when a new dev container is created.
Minimum required: git, bash and openssh-client + whatever includes alpine:latest by default
FROM alpine:latest
RUN apk update && apk add --no-cache git bash openssh-client
Currently, when you configure GitHub as authenticator provider in an Okteto instance, you can specify a setting called organization
to allow only members of that GitHub Organization to login into Okteto.
For this setting to work properly, the GitHub App used in Okteto to authenticate users should be installed in the configured GitHub in order to be able to know if users logging in to Okteto belongs to that organization or not. We should document this fact because it is really important and we don't have it documented yet.
More context in this slack thread: https://okteto.slack.com/archives/C02T9BKMS4V/p1647222612204739
Adding the annotation
dev.okteto.com/inject-token: "true"
to the okteto manifest will the the webhook to add the env OKTETO_TOKEN with the uid to de dev container.
Maybe we should find a place to document this
Typo fix across documentation. Rename "Gitlab" > "GitLab"
As part of the preview environment github integration we need to update the docs to properly document the auto previews PR integration.
This is the page: https://www.okteto.com/docs/cloud/preview-environments/preview-environments-github/
Not sure if the idea is to deprecate the github action or not but we would need to either replace the page or create a new one.
The user needs to create its own ingress/certificate, and then configure publicOverride
in the okteto chart
We had several times a question about how to make an image in the Okteto built-in registry available with read access to all the Okteto users. We implemented some time ago that feature, but we didn't document it yet.
How to use the feature:
Any Okteto admin should be able to push images to okteto
namespace. That can be done in 2 different ways:
<okteto-registry-url>/okteto/<image-name>
okteto.global/<image-name>
This will push any image or helm chart artifact to the okteto
namespace and any Okteto user will be able to pull that image (both notations explained above are valid).
We should also bear in mind the scenario for helm chart artifacts when including this doc: #108
It'd be nice to use https://www.okteto.com/docs/cloud/preview-environments/preview-environments-github/ to have preview environments on each PR
Hello,
a couple days ago I wanted to run a pod with a specific serviceaccount using okteto.
After checking the manifest reference documentation here: https://www.okteto.com/docs/reference/manifest/
I thought it was not possible
But I found that issue okteto/okteto#867 and this pr https://github.com/okteto/okteto/pull/1344/files
So it is possible and it was pretty simple to use.
I wanted to add this missing part to the documentation.
But after reading the contribution guide I thought it's maybe better to first create this issue.
Is your feature request related to a problem? Please describe.
Documentation request
Describe the solution you'd like
In my case, I use a wrapper around some K8s tools including Okteto to abstract some complexity, and am also using KEDA autoscaling to scale my app. When I start Okteto, the autoscaler interferes because it automatically starts its own non-Okteto pods, so traffic is then split between Okteto pods and the autoscaler pods, causing problems and confusion. For this reason, I changed my CLI so that before starting Okteto it patches the services so that they send traffic only to the Okteto pods, ignoring the autoscaled pods. So I can work with Okteto just fine.
This wasn't documented, so I had to figure out that Okteto labels the pod for the main service with the label "interactive.dev.okteto.com" and the additional services (as specified in the manifest) with "detached.dev.okteto.com".
By patching my services to use these labels during an Okteto session, I no longer have problems due to the autoscaling.
Describe alternatives you've considered
I couldn't think of an alternative
I think we should have a doc with a list of the CRDs available
This was requested via https://community.okteto.com/t/third-party-crds-in-okteto-cloud/196
Once the Okteto Dev spec is implemented, our samples should have an okteto manifest that says how to build your container image, how to deploy your application, and how to develop in one component. For example, for the hello world samples, it would look like this:
build:
hello-world: .
deploy:
- kubectl apply -f k8s.yml
devs:
hello-world:
image: okteto/golang:1
sync:
- .:/app
forward:
- 2345:2345
Currently, the values described on https://www.okteto.com/docs/enterprise/administration/github/#adding-the-github-app-configuration-to-okteto are not documented anywhere else.
I believe that we should include them on https://www.okteto.com/docs/enterprise/install/deployment/#configuration-file
The docs for okteto up
needs some info that specifies the importance of using[devName]
in okteto up
.
https://www.okteto.com/docs/reference/cli/#up
To be able to automate the release notes, we need as a first step to render them in place from structured data (json, yaml, etc). This will allow us to more easily update them on a new release with whatever strategy we see fit moving forward.
We could first start with semi-automating a PR into this repo but then move into a more elaborate workflow where we generate the versioned docs automatically via a okteto/app new-release webhook event.
@jLopezbarb we should document all the fields we support in the Compose spec.
And document a list of the fields that we don't support
In the GitHub Actions Documentation page, some actions were removed from the Github Actions marketplace but there are still listed in the documentation page and links of these actions are not valid anymore.
https://www.okteto.com/docs/cloud/github-actions/#available-actions
List of the removed actions from the marketplace but still shown in the documentation page:
Users of Okteto Scale and Okteto Enterprise have access to an administration panel. As part of the effort of making our docs more focused on the scenarios, instead of self-host vs SaaS, I think it's important to show case the 'Admin' features at the same level as 'Development Environments' and 'Preview Environments'.
This section should contain:
We now support a badge for 'Starter', 'Scale', and 'Enterprise'. We should also add 'SaaS' and 'Self-hosted' to the list of badges and properly label the pages according to what applies for SaaS (SaaS = okteto cloud + okteto for teams) and what applies for self-hosted
Explain the limitations of the okteto build
flags in the build cli section.
These flags can only be used if the user is building a single image, and they overwrite the value in the okteto manifest
I don't know if it's the right place to put this issue
It gets really hard to find the correct information across the different places (docs, community, posts, github repos). It would be nice to have the search bar from the docs be able to search across different pages to reduce the complexity when searching, and the docs would be the go-to place for finding anything (as they would redirect with the search)
after adding okteto/okteto#3021 we need to let know the user this behavior. First we need to wait to integrate global forwards docs.
The Okteto Build section is oriented on how okteto build
worked in the Okteto CLI v1. Today, okteto build
behavior is defined in the okteto manifest.
I would focus this section on the advantages of building images in the cluster (as resuing cache layers between users), add links to https://www.okteto.com/docs/cloud/build/ and https://www.okteto.com/docs/reference/cli/#build, and maybe elaborate on the differences between building in a vanilla cluster, and building in a cluster managed by okteto.
Another option is to combine this section with the Okteto Registry
Reference: #55 (comment)
We could also have this information in Okteto CLI GitHub wiki instead of the docs.
Currently, there is a limitation with Digital Ocean and out autoscaler regarding the volumes configuration https://www.okteto.com/docs/self-hosted/administration/configuration/#autoscaler.
The problem is that we cannot get properly the maximum number of volumes allowed per node. This is an important value used by the autoscaler to know when it has to scale up and scale down. Also, it is important because Digital Ocean has a limitation of only 7 attached volumes per node https://docs.digitalocean.com/products/volumes/details/limits/ and this is a low number.
We can document in the Digital Ocean installation guide and in the autoscaler setting this specific case and recommend to set the following configuration:
volumes.up: 6
volumes.down: 5
I think it should be explicitly mentioned in the Development Environments page that only the docker compose file is being used in the Movies App with Docker Compose section and not the Okteto manifest file and the reason for this should be mentioned too.
In the Movies App with Helm section, it should be mentioned that a helm chart is being used alongside the manifest file in the deploy section of the manifest.
I as a first time visitor think that these changes would help first time users understand the docs better.
From auth0 and katana:
We link npm packages to services as volumes from time to time when we're developing some of our own npm packages.
The upgrade to 2.0 can be cumbersome and frustrating for a user that already has a project setup on 1.x. In order to address this we need a migration guide that spells out any places where 2.0 might be backwards incompatible.
We have blog posts, but I think we should have a set of official instructions in our docs, so help signal that this is a standard use case and that we support it.
Adding or deleting vanilla clusters to the kubeconfig
adds them to the list of contexts. But this information isn't documented anywhere in the docs clearly.
For reference, this is how it is documented in the compose spec:
https://github.com/compose-spec/compose-spec/blob/master/spec.md#fragments
There are environment variables that can be set by an user but there is no documentation such as:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.