How to Use DevStream in an Air-gapped Environment #1082
                  
                    
                      daniel-hutao
                    
                  
                
                  started this conversation in
                Ideas
              
            Replies: 3 comments
-
| Points 2.1 to 2.3 look good. The only problem I think is the Jenkins plugins. I think manually downloading the plugins and then using official CLI tools to install them is the way to go. See more here: https://github.com/jenkinsci/plugin-installation-manager-tool | 
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            -
| The coding progress is tracked by #1084 | 
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            -
| 2.4 we can download these plugins before, then install them in jenkins-cli. I think this can be done by script | 
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
1. Background
We can currently only use
dtmwhere the Internet can be connected, but a lot of company environments are air-gapped. I wanna find a way to usedtmin an air-gapped environment.2. Some of the Major Materials I've Identified
dtmanddtm pluginsJenkinsneeds its pluginsLet's give the formulas together.
2.1
dtmanddtm pluginsscript, it can recognize thedtmversion, plugin category, plugin CPU-arch, etc.Anyway, we need to download the
dtmanddtm pluginson the mac/Windows PC, and then run them on an air-gapped Linux environment.2.2 Container Images
The image problem is not easy to solve, and we need to consider a bit more aspects, such as:
imagePullPolicytoAlways, such asJenkins. There are even some Deployments that are managed by ak8s Operatoranddtmcan't change theimagePullPolicyconfiguration through the API. (Prepare all images without an image repo isn't a good way)docker daemonorcontainerdmay support HTTP or HTTPS only. (Deploy a Harbor beforedtm applyisn't a good way, for the HTTPS cluster, certificate configuration may require some complicated operations.)Therefore, we need to make some assumptions/requirements:
The air-gapped environment has an
image repoalready.Then, what
dtmneeds to do is to make each plugin support the specified image name, for example:https://example.io:9000/jenkins/jenkins:2.346.3-jdk112.3 Helm Charts
That's easy, we could do it in 2 steps:
dtmsupport thelocal chartinstallation.2.4 Jenkins Plugins (Not dtm Plugins) or Other Things Need to Download
We identify the required stuff for each plugin and then tell the users how to get it manually through documentation?
Let's discuss these formulas together and give a to-do list after. @devstream-io/devstream
Beta Was this translation helpful? Give feedback.
All reactions