feat: add documentation for diracx container deploment#851
feat: add documentation for diracx container deploment#851marianne013 wants to merge 3 commits intoDIRACGrid:mainfrom
Conversation
Documentation build overview
150 files changed ·
|
| At the time of writing, the only supported way of running DiracX is through **[Kubernetes](https://kubernetes.io/docs/tutorials/kubernetes-basics/)**. | ||
| At the time of writing, the only fully supported way of running DiracX is through **[Kubernetes](https://kubernetes.io/docs/tutorials/kubernetes-basics/)**. | ||
|
|
||
| If you need to decouple your DIRAC v9 upgrade from a kubernetes deployment, you can deploy DiracX in a container. This has only been tested in conjunction with a DIRAC v9.0 deployment. In this case, your starting point is: [Prepare a node for container deployment](prepare-container-node.md). |
There was a problem hiding this comment.
Given that now you are introducing a new "path" of deployment, the whole content of this file should be, I believe, better moved one level up, from https://diracx--851.org.readthedocs.build/en/851/admin/how-to/install/minimal-requirements/ to https://diracx--851.org.readthedocs.build/en/851/admin/how-to/install/
| At the time of writing, the only supported way of running DiracX is through **[Kubernetes](https://kubernetes.io/docs/tutorials/kubernetes-basics/)**. | ||
| At the time of writing, the only fully supported way of running DiracX is through **[Kubernetes](https://kubernetes.io/docs/tutorials/kubernetes-basics/)**. | ||
|
|
||
| If you need to decouple your DIRAC v9 upgrade from a kubernetes deployment, you can deploy DiracX in a container. This has only been tested in conjunction with a DIRAC v9.0 deployment. In this case, your starting point is: [Prepare a node for container deployment](prepare-container-node.md). |
There was a problem hiding this comment.
I think this sentence is overly conservative. We know the changes in v9.1 are unrelated it's more likely to be affected by diracx updates (e.g. #842) though even then it shouldn't be too bad.
| If you need to decouple your DIRAC v9 upgrade from a kubernetes deployment, you can deploy DiracX in a container. This has only been tested in conjunction with a DIRAC v9.0 deployment. In this case, your starting point is: [Prepare a node for container deployment](prepare-container-node.md). | |
| If you need to decouple your DIRAC v9 upgrade from a kubernetes deployment, you can deploy DiracX in a container. In this case, your starting point is: [Prepare a node for container deployment](prepare-container-node.md). |
| - admin/how-to/install/index.md | ||
| - Minimal requirements: admin/how-to/install/minimal-requirements.md | ||
| - Installing kubernetes: admin/how-to/install/install-kubernetes.md | ||
| - Preparing a container node: admin/how-to/install/prepare-container-node.md |
There was a problem hiding this comment.
I think we need a way of making the table of contents clearer, maybe Alt: or something as a prefix to make clear it's an alternative to the previous? Or maybe just having a single page after Minimal requirements named Installing without kubernetes or something?
| DIRACX_DB_URL_JOBDB=mysql+aiomysql://YourUser:YourPassword@host.containers.internal:3306/JobDB | ||
| DIRACX_DB_URL_JOBLOGGINGDB=mysql+aiomysql://YourUser:YourPassword@host.containers.internal:3306/JobLoggingDB | ||
| DIRACX_DB_URL_PILOTAGENTSDB=mysql+aiomysql://YourUser:YourPassword@host.containers.internal:3306/PilotAgentsDB | ||
| DIRACX_DB_URL_SANDBOXMETADATADB=mysql+aiomysql://YourUser:YourPassword@host.containers.internal:3306/SandboxMetadataDB |
There was a problem hiding this comment.
This needs to be generated automatically to stay up to date for the DIRACX_*DB_URL and DIRACX_SERVICE_*_ENABLED variables.
There was a problem hiding this comment.
In the sense that you might code some new ones ? In that case, that will be step two
There was a problem hiding this comment.
This is probably a little out of scope for here, but any chance we could get a generic base URL environment variable for the DBs? i.e. if we had DIRACX_DB_BASE_URL=mysql+aiomysql://user:pass@myhost:3306/ which was used to construct the URLs for the databases by appending the default name (if the more specific environment variable wasn't set) then maybe we wouldn't necessarily need to maintain a full list of them here (although it isn't clear to me whether it'd do the required CREATE DATABASE step when a new one is added?).
There was a problem hiding this comment.
In the sense that you might code some new ones ? In that case, that will be step two
There will definitely be new ones. There are already ways to generate this, IIUC it's about extending https://github.com/DIRACGrid/diracx/blob/main/scripts/generate_settings_docs.py
This is probably a little out of scope for here, but any chance we could get a generic base URL environment variable for the DBs? i.e. if we had DIRACX_DB_BASE_URL=mysql+aiomysql://user:pass@myhost:3306/ which was used to construct the URLs for the databases by appending the default name (if the more specific environment variable wasn't set) then maybe we wouldn't necessarily need to maintain a full list of them here (although it isn't clear to me whether it'd do the required CREATE DATABASE step when a new one is added?).
At a first sight it seems like the better approach, I let someone else reply on this as there is probably an issue that I am not aware of.
| set -e | ||
| echo "Welcome to the dark side" | ||
|
|
||
| eval "$(micromamba shell hook --shell=posix)" && micromamba activate base |
There was a problem hiding this comment.
Is this true for v9.0 as well ? As we at the moment only state it works for that.
There was a problem hiding this comment.
I guess we need to test that first.
| eval "$(micromamba shell hook --shell=posix)" && micromamba activate base | ||
|
|
||
| # this sets it up so that we can make changes to the code | ||
| pip install -e /diracx_sources/diracx-core \ |
There was a problem hiding this comment.
Should be addressed in latest update, at least it seems to work with v0.0.12 -- would that be good enough for a first pass ?
| ``` | ||
| git clone https://github.com/DIRACGrid/diracx.git | ||
| git checkout v0.0.2 # (note: the version matches image: ghcr.io/diracgrid/diracx/services:v0.0.2 in | ||
| the yaml file) | ||
| ``` |
There was a problem hiding this comment.
This should be using an annotation, hopefully I've remembered the correct syntax:
| ``` | |
| git clone https://github.com/DIRACGrid/diracx.git | |
| git checkout v0.0.2 # (note: the version matches image: ghcr.io/diracgrid/diracx/services:v0.0.2 in | |
| the yaml file) | |
| ``` | |
| <div class="annotate" markdown> | |
| ```bash | |
| git clone https://github.com/DIRACGrid/diracx.git | |
| git checkout v0.0.2 (1) | |
| ```</div> | |
| 1. The version should match image: `ghcr.io/diracgrid/diracx/services:v0.0.2` in the yaml file |
|
Hi @fstagni , @chrisburr This has now a lot of comments, and I am not sure we can re-organize the whole documentation on top of that. Can I suggest that I address all immediate issues (text, links etc) and we publish it in the location it's currently at, and make the re-organisation a separate issue ("2 points") ? |
2693e7c to
733cbe9
Compare
|
Co-authored-by: Federico Stagni <federico.stagni@cern.ch> Co-authored-by: Chris Burr <chrisburr@users.noreply.github.com>
Moves the container-based install docs into an "Installation without Kubernetes" section with its own index and a tailored minimal requirements page. Shared steps (Convert CS, Register VO, Embracing) link across to the main install section to avoid duplication.
|
I've pushed a suggestion for the layout change, what do you think? |
It does not solve, IMHO. Also some links are broken now. I will push myself. |
|
|
||
| Note: The username and password will then re-appear in the `diracx.env` connection strings for the databases. | ||
|
|
||
| You can now continue to [Convert CS](../convert-cs.md). After this please read [Installing DiracX](../installing.md) for some background information before proceeding to [Installing DiracX in a container](installing-in-a-container.md). |
There was a problem hiding this comment.
After this please read Installing DiracX for some background information before proceeding to
This is rather confusing. Which info should be gathered from that document, which contains (also) kubernetes specific info?
I pushed a new schema. Have a look. |
This attempts to address #798.