type: install name: 'SoftEther VPN Server' id: 'SoftEtherVPNServerDeploy' homepage: https://github.com/layershift/jps-softether/ baseUrl: https://raw.githubusercontent.com/layershift/jps-softether/main logo: /images/SoftEtherLogo.png?_r=${fn.random} categories: - apps/others description: text: /texts/description.md short: SoftEther VPN server. settings: fields: - type: spinner name: nodesCount caption: Number of nodes increment: 0 default: 1 min: 1 hidden: true - type: radiolist caption: Installation Mode name: mode default: newEnv columns: 2 values: - caption: New Environment value: newEnv - caption: Existing Environment value: existingEnv showIf: #Settings for creating a new Environment newEnv: - caption: Environment type: envname name: envName dependsOn: region - caption: Region type: regionlist name: region disableInactive: true selectFirstAvailable: true #Settings for selecting current Environment existingEnv: - caption: Environment type: envlist name: envName valueField: shortdomain - caption: Cloudlets type: spinner name: cldts increment: 2 default: 10 min: 4 - name: token caption: Jelatic Personal Access Token type: string value: hidden: false required: true onInstall: # Create appropriate environment with settings selected in previous screen - if (settings.mode == 'newEnv'): install: envName: ${settings.envName} region: ${settings.region} jps: type: install name: Create environment nodes: nodeType: centos-vps displayName: SoftEther VPN flexibleCloudlets: ${settings.cldts} count: ${settings.nodesCount} nodeGroup: vpn_vds extip: true skipNodeEmails: true #Add nodes to the Environment previously selected - if (settings.mode == 'existingEnv'): install: envName: ${settings.envName} jps: type: update name: add nodes onInstall: node: nodeType: centos-vps displayName: SoftEther VPN flexibleCloudlets: ${settings.cldts} nodeGroup: vpn_vds extip: true # not possible in version 6.1.2 # skipNodeEmails: false script: | return { result: 0, onAfterReturn: { 'env.control.AddNode': Array(${settings.nodesCount}).fill(JSON.parse(node)) } } #Once the nodes are added, it will install the Redis_ckuster package that configures the 6 Redis nodes into a cluster - install: jps: ${baseUrl}/softether.jps envName: ${settings.envName} nodeGroup: vpn_vds settings: token: ${settings.token}