Skip to content
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

Document and QE Usage of Dependencies Repositories in Airgap Scenario #15351

Closed
7 of 8 tasks
l0rd opened this issue Nov 28, 2019 · 7 comments
Closed
7 of 8 tasks

Document and QE Usage of Dependencies Repositories in Airgap Scenario #15351

l0rd opened this issue Nov 28, 2019 · 7 comments
Labels
area/doc Issues related to documentation kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@l0rd
Copy link
Contributor

l0rd commented Nov 28, 2019

Is your enhancement related to a problem? Please describe.

As a developer working with Che and using the different default stacks packaged, the stacks should be configurable so that they are pointing we are to internal dependencies management tools (like artifactory or other).
It should be easy enough (documented and tested) to the customer and automated, to configure the stacks (and the associated devfile) so that they are rely on different dep management tools.

Describe the solution you'd like

Java/Maven/Gradle

It will be necessary to point build tools to local registries (maven's settings.xml, ~/.gradle/gradle.properties).
Often, local maven repos artifactories are using self signed certificates, so a customer will either have to create a keystore and add it to default java cacerts or define keystore in build commands (-DpropName=)

NodeJS

npm should be configured to be using a local registry (npm set registry? env var passed to)
If npm registry uses self signed certs, crt should be added to root ca in a container (rebuild an image) or npm should be aware of ca (npm config set ca ""?)

Other stacks

Similarly, other stacks like PHP or .NET may need such fine tuning to work with local registries/artifactories etc.

Subtasks

@l0rd l0rd added the kind/enhancement A feature request - must adhere to the feature request template. label Nov 28, 2019
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Nov 28, 2019
@l0rd l0rd added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. and removed kind/enhancement A feature request - must adhere to the feature request template. status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Nov 28, 2019
@tsmaeder tsmaeder mentioned this issue Dec 16, 2019
28 tasks
@tsmaeder
Copy link
Contributor

Related issues:

@tsmaeder
Copy link
Contributor

Assuming this is about the "airgapped" case, we need to solve two distinct problems:

  1. Override the settings from the source code (e.g. pom.xml) and default settings (e.g. maven central)
  2. Make tools accept self-signed certificates for secure connections (e.g. https).

There are various desirable properties for any solution:

  1. The solution should work for commands define in the devfile as well as using regular tools in the workspace (e.g. "mvn clean install" from the command line should work)
  2. Ideally, an administrator could override settings in existing devfiles per che installation via some mechanism (I believe there is a cr.yaml file in CRW)
  3. If there are relevant settings in the devfile, they should take precedence over those set per installation
  4. If the user makes changes to any of the settings (for example, by editing a settings.xml in ~/.m2), they take precedence over system/devfile settings

@tsmaeder
Copy link
Contributor

tsmaeder commented Dec 17, 2019

Step 1 is to try out an document the manual setup of air-gapping for our various built systems, in particular:

@l0rd l0rd changed the title Document and QE Usage of Dependencies Repositories in Offline Scenario Document and QE Usage of Dependencies Repositories in Airgap Scenario Dec 17, 2019
@tsmaeder
Copy link
Contributor

tsmaeder commented Dec 18, 2019

Step 2 (#15518) is to come up with one or more mechanisms for executing the configurations found in step 1 automatically as described above

@slemeur
Copy link
Contributor

slemeur commented Jan 7, 2020

Step 0 should be to look at #14343 as it provides the basic mechanisms to configure the settings.xml used by a plugin from the devfile. We should:

  • test how to enable that
  • document a sample
  • add that content on che-docs
    The most common ask we see is on configuring a settings.xml file. the others while important are less urgent.

@ericwill
Copy link
Contributor

As per the discussion this morning, the implementation details will be discussed during other teams' prioritization calls. For now, the remaining action item for the plugins team is to ensure that all the documented items are in their proper upstream location (i.e. not in some Google doc).

@rkratky rkratky added the area/doc Issues related to documentation label May 8, 2020
@che-bot
Copy link
Contributor

che-bot commented Jan 4, 2021

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 4, 2021
@ericwill ericwill closed this as completed Jan 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/doc Issues related to documentation kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

6 participants