From d7b8ca3fef9ef02508502773db6522c3dade1b3b Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Thu, 20 Feb 2020 22:14:52 +0100 Subject: [PATCH 1/6] add ignition packages pattern Signed-off-by: Mikael Arguedas --- docker_templates/packages.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker_templates/packages.py b/docker_templates/packages.py index 7daa131..d77efb8 100644 --- a/docker_templates/packages.py +++ b/docker_templates/packages.py @@ -24,12 +24,14 @@ packagePatternTemplateLookup = { 'gazebo_packages': string.Template(r'(\bPackage: gazebo$gazebo_version\n)(.*?(?:\r*\n{2}))'), + 'ignition_packages': string.Template(r'(\bPackage: $package\n)(.*?(?:\r*\n{2}))'), 'ros_packages': string.Template(r'(\bPackage: ros-$rosdistro_name-$package\n)(.*?(?:\r*\n{2}))'), 'ros2_packages': string.Template(r'(\bPackage: ros-$ros2distro_name-$package\n)(.*?(?:\r*\n{2}))'), } indexUrlTemplateLookup = { 'gazebo_packages': string.Template('http://packages.osrfoundation.org/gazebo/$os_name-$release/dists/$os_code_name/main/binary-$arch/Packages'), + 'ignition_packages': string.Template('http://packages.osrfoundation.org/gazebo/$os_name-$release/dists/$os_code_name/main/binary-$arch/Packages'), 'ros_packages': string.Template('http://packages.ros.org/ros/ubuntu/dists/$os_code_name/main/binary-$arch/Packages'), 'ros2_packages': string.Template('http://packages.ros.org/ros2/ubuntu/dists/$os_code_name/main/binary-$arch/Packages'), 'ros_packages_snapshots': string.Template('http://snapshots.ros.org/$rosdistro_name/final/ubuntu/dists/$os_code_name/main/binary-$arch/Packages'), @@ -38,12 +40,14 @@ packageNameVersionTemplateLookup = { 'gazebo_packages': string.Template('$package=$package_version*'), + 'ignition_packages': string.Template('$package=$package_version*'), 'ros_packages': string.Template('ros-$rosdistro_name-$package=$package_version*'), 'ros2_packages': string.Template('ros-$ros2distro_name-$package=$package_version*'), } packageNameTemplateLookup = { 'gazebo_packages': string.Template('$package'), + 'ignition_packages': string.Template('$package'), 'ros_packages': string.Template('ros-$rosdistro_name-$package'), 'ros2_packages': string.Template('ros-$ros2distro_name-$package'), } From 7a83f69356975263e97ec74c5c51950910ac6a4b Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Thu, 20 Feb 2020 23:02:53 +0100 Subject: [PATCH 2/6] commit copy of gzserver template and make it ignition Signed-off-by: Mikael Arguedas --- .../create_ignition_image.Dockerfile.em | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em diff --git a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em new file mode 100644 index 0000000..057bb9a --- /dev/null +++ b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em @@ -0,0 +1,66 @@ +@(TEMPLATE( + 'snippet/add_generated_comment.Dockerfile.em', + user_name=user_name, + tag_name=tag_name, + source_template_name=template_name, +))@ +@(TEMPLATE( + 'snippet/from_base_image.Dockerfile.em', + template_packages=template_packages, + os_name=os_name, + os_code_name=os_code_name, + arch=arch, + base_image=base_image, + maintainer_name=maintainer_name, +))@ +@(TEMPLATE( + 'snippet/setup_tzdata.Dockerfile.em', + os_name=os_name, + os_code_name=os_code_name, +))@ +@{ +template_dependencies = [ + 'dirmngr', + 'gnupg2', + 'lsb-release', +] +}@ +@(TEMPLATE( + 'snippet/install_upstream_package_list.Dockerfile.em', + packages=template_dependencies, + upstream_packages=upstream_packages if 'upstream_packages' in locals() else [], +))@ +@ +# setup keys +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D2486D2DD83DB69272AFE98867170598AF249743 + +# setup sources.list +RUN . /etc/os-release \ + && echo "deb http://packages.osrfoundation.org/gazebo/$ID-stable `lsb_release -sc` main" > /etc/apt/sources.list.d/gazebo-latest.list + +# install ignition packages +RUN apt-get update && apt-get install -q -y \ + @(' \\\n '.join(ignition_packages))@ \ + && rm -rf /var/lib/apt/lists/* + +# setup environment +EXPOSE 11345 + +@[if 'entrypoint_name' in locals()]@ +@[ if entrypoint_name]@ +@{ +entrypoint_file = entrypoint_name.split('/')[-1] +}@ +# setup entrypoint +COPY ./@entrypoint_file / + +ENTRYPOINT ["/@entrypoint_file"] +@[ end if]@ +@[end if]@ +@{ +cmds = [ +# launching server only, default: no world +'ign gazebo -s', +] +}@ +CMD ["@(' && '.join(cmds))"] From a14574d5341b571607c2d1c294bc4ea6172f21dd Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Thu, 20 Feb 2020 23:08:46 +0100 Subject: [PATCH 3/6] fixup command Signed-off-by: Mikael Arguedas --- .../docker_images/create_ignition_image.Dockerfile.em | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em index 057bb9a..f6d7c80 100644 --- a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em @@ -60,7 +60,9 @@ ENTRYPOINT ["/@entrypoint_file"] @{ cmds = [ # launching server only, default: no world -'ign gazebo -s', +'ign', +'gazebo', +'-s', ] }@ -CMD ["@(' && '.join(cmds))"] +CMD ["@('", "'.join(cmds))"] From bce430bb270effbaf74324a073e294b6839381af Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Thu, 20 Feb 2020 23:15:50 +0100 Subject: [PATCH 4/6] [ignition] add docker library template Signed-off-by: Mikael Arguedas --- .../templates/docker_library/ignition.em | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docker_templates/templates/docker_library/ignition.em diff --git a/docker_templates/templates/docker_library/ignition.em b/docker_templates/templates/docker_library/ignition.em new file mode 100644 index 0000000..5dda7bc --- /dev/null +++ b/docker_templates/templates/docker_library/ignition.em @@ -0,0 +1,24 @@ +Maintainers: @(',\n '.join(maintainers)) +GitRepo: @(repo_url) +@[for release_name, release_data in release_names.items()]@ + +################################################################################ +# Release: @(release_name) + +@[ for os_name, os_data in release_data['os_names'].items()]@ +@[ for os_code_name, os_code_data in os_data['os_code_names'].items()]@ +@[ if os_code_data['tag_names'] is not None]@ +######################################## +# Distro: @(os_name):@(os_code_name) + +@[ for tag_name, tag_data in os_code_data['tag_names'].items()]@ +Tags: @(', '.join(tag_data['Tags'])) +Architectures: @(', '.join(tag_data['Architectures'])) +GitCommit: @(tag_data['GitCommit']) +Directory: @(tag_data['Directory']) + +@[ end for]@ +@[ end if]@ +@[ end for]@ +@[ end for]@ +@[end for]@ From 8534eeeb0906a9f27f6ca5715a0a53732cabb571 Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Fri, 21 Feb 2020 10:17:28 +0100 Subject: [PATCH 5/6] remove default port exposition to not force it on consumers Signed-off-by: Mikael Arguedas --- .../docker_images/create_ignition_image.Dockerfile.em | 3 --- 1 file changed, 3 deletions(-) diff --git a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em index f6d7c80..1719382 100644 --- a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em @@ -43,9 +43,6 @@ RUN apt-get update && apt-get install -q -y \ @(' \\\n '.join(ignition_packages))@ \ && rm -rf /var/lib/apt/lists/* -# setup environment -EXPOSE 11345 - @[if 'entrypoint_name' in locals()]@ @[ if entrypoint_name]@ @{ From f456963c5f4b8dddf068f57b249ecddc8eb9cc3d Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Fri, 28 Feb 2020 19:42:13 +0100 Subject: [PATCH 6/6] enter bash terminal by default Signed-off-by: Mikael Arguedas --- .../docker_images/create_ignition_image.Dockerfile.em | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em index 1719382..4001d9a 100644 --- a/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_ignition_image.Dockerfile.em @@ -56,10 +56,7 @@ ENTRYPOINT ["/@entrypoint_file"] @[end if]@ @{ cmds = [ -# launching server only, default: no world -'ign', -'gazebo', -'-s', +'bash', ] }@ CMD ["@('", "'.join(cmds))"]