spring-projects / sts4

The next generation of tooling for Spring Boot, including support for Cloud Foundry manifest files, Concourse CI pipeline definitions, BOSH deployment manifests, and more... - Available for Eclipse, Visual Studio Code, and Theia
https://spring.io/tools
Eclipse Public License 1.0
870 stars 203 forks source link

Concourse extension doesn't know about the registry-image #380

Closed marco-m closed 4 years ago

marco-m commented 4 years ago

Hello,

since a while the Concourse docker-image resource has an alternative, the drop-in replacement registry-image resource. Development on docker-image has stopped.

The Concourse documentation unfortunately is partially out of date, but to show that registry-image is the preferred type to use I can quote the Concourse introduction documentation:

Everything in Concourse runs in a container. Instead of modifying workers to install build tools, Tasks describe their own container image (typically using Docker images via the registry-image resource).

This snippet configuration:

image_resource:
  type: registry-image
  source:
    repository: alpine
    tag: latest

reports the error: The 'registry-type' Resource Type does not exist.

registry-image

Thanks!

kdvolder commented 4 years ago

I would like to update this in our editor, without an explanation in the doc about this I'm not sure what changes are actually required.

Do I understand correctly that 'registry-image' is a new built-in resource type?

Where is this documented? I was trying to find where they currently list all the built-in resource types, but can't seem to find that in the current concourse documentation. (Places I looked: https://concourse-ci.org/resource-types.html and https://concourse-ci.org/resources.html)

As a quickfix I can add 'registry-image' as a known 'built-in' resource type to our editor without any Schema information. This will get rid of the error but will not provide any kind of completions or validation for stuff in the 'source' section of the resource definition or in the get and put params of resources of this type.

kdvolder commented 4 years ago

I found some kind of a list here:

https://github.com/concourse/concourse/wiki/Resource-Types

But it doesn't say which resources are 'builtin'. I am guessing it might be the resources that are listed as 'maintained by @Concourse'. Though that's really just a guess.

kdvolder commented 4 years ago

Okay, here's what I will do:

Do a quick short term fix now: add registry-image as a 'unkown schema' built-in resource type. This can still be included in the next release which is supposed to happen next week sometime.

After the release I will work on fleshing out a proper schema for the new resource type.

marco-m commented 4 years ago

@kdvolder as usual, you are very reactive, thanks!

Yes, registry-image is added to the built-in resource types. It is a drop-in replacement for docker-image, so the schema should be the same. I think you can get the information you are looking for regarding the schema from the repo README: https://github.com/concourse/registry-image-resource.

To know the list of all built-in resource types, one can query the ATC with fly -t ci workers -d.

The returned resource types are: bosh-io-release, bosh-io-stemcell, cf, docker-image, git, github-release, hg, mock, pool, registry-image, s3, semver, time, tracker

kdvolder commented 4 years ago

I've now also pushed some changes to flesh out the Schema for source options as well as get and put parameters. There are actually quite some differences between the old docker-image and the new repository-image. Perhaps the biggest difference is that the new repository-image has no support for building images (i.e. from a Dockerfile).

@marco-m If you have time to test and take it for a spin, that would be most welcome. As allways you can download a .vsix file of the snapshot builds from this page:

http://dist.springsource.com/snapshot/STS4/nightly-distributions.html

Also thanks again for reporting the issue as well as for the pointers to the relevant docs.

kdvolder commented 4 years ago

PS: I mentioned that there would be release this week. However the release has been pushed back a bit till the beginning of november (which is why I decided I could still work in this bigger schema change as their's still enough time to test it before releasing it to the masses :-)

marco-m commented 4 years ago

There are actually quite some differences between the old docker-image and the new repository-image. Perhaps the biggest difference is that the new repository-image has no support for building images (i.e. from a Dockerfile).

You are right. I completely forgot about it.

@marco-m If you have time to test and take it for a spin, that would be most welcome.

I will. Please ping me back if you don't hear from me in a few days.

Also thanks again for reporting the issue as well as for the pointers to the relevant docs.

You are the one to thank Kris! :-)

marco-m commented 4 years ago

@kdvolder I tested the nightly build. It correctly handles the new registry-image. From my point of view this ticket can be closed as Done, thanks again.

On the other hand I found two other aspects that need to be updated, I will open a separate ticket.

kdvolder commented 4 years ago

@marco-m Thanks for testing.

found two other aspects that need to be updated, I will open a separate ticket

Yes, please do! Thanks in advance.

marco-m commented 4 years ago

FYI the two new tickets I opened are #382 and #383.