Class SwarmCloud

All Implemented Interfaces:
ExtensionPoint, Describable<Cloud>, ModelObject, SearchableModelObject, SearchItem, AccessControlled, ModelObjectWithContextMenu

public class SwarmCloud extends Cloud
Docker Swarm Cloud implementation for Jenkins. Provisions agents on a Docker Swarm cluster.
  • Constructor Details

    • SwarmCloud

      @DataBoundConstructor public SwarmCloud(@NonNull String name)
  • Method Details

    • getDockerHost

      @NonNull public String getDockerHost()
    • setDockerHost

      @DataBoundSetter public void setDockerHost(String dockerHost)
    • getCredentialsId

      @Nullable public String getCredentialsId()
    • setCredentialsId

      @DataBoundSetter public void setCredentialsId(String credentialsId)
    • getJenkinsUrl

      @Nullable public String getJenkinsUrl()
    • setJenkinsUrl

      @DataBoundSetter public void setJenkinsUrl(String jenkinsUrl)
    • getSwarmNetwork

      @Nullable public String getSwarmNetwork()
    • setSwarmNetwork

      @DataBoundSetter public void setSwarmNetwork(String swarmNetwork)
    • getMaxConcurrentAgents

      public int getMaxConcurrentAgents()
    • setMaxConcurrentAgents

      @DataBoundSetter public void setMaxConcurrentAgents(int maxConcurrentAgents)
    • getMaxProvisionsPerMinute

      public int getMaxProvisionsPerMinute()
    • setMaxProvisionsPerMinute

      @DataBoundSetter public void setMaxProvisionsPerMinute(int maxProvisionsPerMinute)
    • getMinProvisionIntervalMs

      public long getMinProvisionIntervalMs()
    • setMinProvisionIntervalMs

      @DataBoundSetter public void setMinProvisionIntervalMs(long minProvisionIntervalMs)
    • isRateLimitEnabled

      public boolean isRateLimitEnabled()
    • setRateLimitEnabled

      @DataBoundSetter public void setRateLimitEnabled(boolean rateLimitEnabled)
    • getTemplates

      @NonNull public List<SwarmAgentTemplate> getTemplates()
    • setTemplates

      @DataBoundSetter public void setTemplates(List<SwarmAgentTemplate> templates)
    • getEffectiveJenkinsUrl

      @NonNull public String getEffectiveJenkinsUrl()
      Returns the effective Jenkins URL for agents to connect to.
    • getDockerClient

      @NonNull public DockerSwarmClient getDockerClient()
      Gets the Docker Swarm client, creating one if necessary.
    • getTemplate

      @Nullable public SwarmAgentTemplate getTemplate(@Nullable Label label)
      Finds a template matching the given label.
    • getTemplateByName

      @Nullable public SwarmAgentTemplate getTemplateByName(@NonNull String name)
      Finds a template by name. Used for template inheritance resolution.
    • canProvision

      public boolean canProvision()
      Checks if we can provision more agents.
    • countCurrentAgents

      public int countCurrentAgents()
      Counts the current number of agents provisioned by this cloud.
    • canProvision

      public boolean canProvision(@NonNull Cloud.CloudState state)
      Overrides:
      canProvision in class Cloud
    • provision

      @NonNull public Collection<NodeProvisioner.PlannedNode> provision(@NonNull Cloud.CloudState state, int excessWorkload)
      Overrides:
      provision in class Cloud