Concourse Tutorial : create resource config: base resource type not found: docker-image

1.4k views Asked by At

I was following along the tutorial for concourse from https://concoursetutorial.com/basics/task-hello-world/ after setting up the concourse version 7.1 using docker-compose up -d. Tried a few different hello world examples but all of them failed because of the same error message.

Command :

fly -t tutorial execute -c task_hello_world.yml

Output :

executing build 7 at http://localhost:8080/builds/7
initializing
create resource config: base resource type not found: docker-image
create resource config: base resource type not found: docker-image
errored

I am new and unable to understand the cause and how to fix it. I am on debian (5.10 kernel) with docker version 20.10.4

1

There are 1 answers

0
marco.m On

The key to understand what is going on is in the error message:

create resource config: base resource type not found: docker-image
                        ^^^^

A "base" resource type is a resource embedded in the Concourse worker, so that the task needing it doesn't need to download the corresponding image.

Example of base resource types still embedded in Concourse workers of the 7.x series are git and s3.

The Concourse tutorial you are following is outdated and has been written for a version of Concourse that embedded the docker-image resource type.

Since you are following the examples in the tutorial with a new Concourse, you get this (confusing) error.

The fix is easy: in the pipeline, replace docker-image with registry-image. See https://github.com/concourse/registry-image-resource.

I take this opportunity also to mention a project of mine, marco-m/concourse-in-a-box, an all-in-one Concourse CI/CD system based on Docker Compose, with Minio S3-compatible storage and HashiCorp Vault secret manager. This enables to learn Concourse pipelines from scratch in a simple and complete environment.