Hi all,

I have been looking into the kubernetes plugin for jenkins as an
inspiration for my own plugin i would like to write. This plugin should
provide a new type of agent that can be used in the declarative pipeline.
Also, it would need to provide users an option to create a new type of
cloud.

So far, i have been able to implement all that is needed for a new type of
cloud, but i can't seem to figure out what would be extension points to
provide a new type of agent.

If you wonder why i am using kubernetes plugin for Jenkins as an
inspiration, it's because this new agent will communicate with an open
source batch job scheduler called Armada <https://armadaproject.io/>.
Armada operates on top of k8s clusters, and it receives a yaml manifest
that it interprets and knows how to communicate with k8s API to deploy pods
and schedule jobs. So i don't need to integrate with k8s API directly.

Example like this, taken from the homepage of kubernetes plugin:
```
pipeline {
  agent {
    kubernetes {
      yaml '''
        apiVersion: v1
        kind: Pod
        metadata:
          labels:
            some-label: some-label-value
        spec:
          containers:
          - name: maven
            image: maven:alpine
            command:
            - cat
            tty: true
          - name: busybox
            image: busybox
            command:
            - cat
            tty: true
        '''
      retries 2
    }
  }
  stages {
    stage('Run maven') {
      steps {
        container('maven') {
          sh 'mvn -version'
        }
        container('busybox') {
          sh '/bin/busybox'
        }
      }
    }
  }
}
```

should now be:
```
pipeline {
  agent {
    armada {
      yaml '''
        ...
        '''
      retries 2
    }
  }
  stages {
    ....
  }
}
```

Can you help me out in implementing something like this?

Thanks!

Best regards,
Ivan

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANju_JA1-NEfy_0E%3DRkePeRxw5rmqAo6VUW-iM%2BO4WZioofuGQ%40mail.gmail.com.

Reply via email to