People

Agenda

  • Discuss and decide goals for this iteration.

Notes

  • This iteration is about adding built-in actions to the worker manager so that Lars’s pipelines no longer need to copy in the worker ssh keys into the container to do network operations, such as git, rsync, and dput. After this itertion, all such operations that require ssh keys will be done outside the container.

Roadmap until ALPHA-6

@startroadmap
alpha6:
  label: ALPHA-6
  depends:
    - alpha5
    - docs

alpha5:
  label: ALPHA-5
  depends:
    - notifications
    - release_builds

release_builds:
  label: |
    ick builds,
    publishes
    its own .debs
    (release builds
    from signed tags)
  depends:
  - sensible
  - incremental

sensible:
  label: |
    Fix ick to allow
    sensible project,
    pipeline specs
    (e.g., git, dput
    actions to avoid
    having to have an
    ssh key in 
    containers).
  status: next

notifications:
  label: |
    ick has a
    rudimentary
    notification
    system

incremental:
  label: |
    ick can do
    incremental
    builds (reuse
    workspaces
    across builds)

docs:
  label: |
    there's sufficient
    docs for others to
    install ick for
    themselves
@endroadmap

Current projects

  • N/A

Tasks for this week

Tasks may be part of a project or be random small ones (max an hour) that just need doing.

what Who estimate(h)
Add action to run git clone or git remote update Lars 4
Add action to run rsync Lars 2
Change ick-cluster.yml to caret dput.cf for the cluster apt repo Lars 1
Add action to run dput Lars 1
Total Lars 8

Task descriptions

  • Add action to run git clone or git remote update: Add an action action: git to the worker manager. It should use the project parameter git_dir to get the name of a subdirectory in the workspace. If that directory does not exist, it should do git clone git_url git_dir, where git_url is another project parameter. If the directory does exist, the action should run git remote update in the directory.

    Acceptance criteria: A version of ickdev.yaml modified to use the new action works with test-ick.

  • Add action to run rsync: Add an action action: rsync which uses the project parameters rsync_src and rsync_target and runs rsync -av --delete rsync_src rsync_target/. on the host at the root of the workspace.

    Add to ickdev.yaml a project that creates a dummy static website and uses the rsync action to publish it. The web server should be provided by the test-ick script.

    Acceptance criteria: test-ick passes after the changes.

  • Change ick-cluster.yml to caret dput.cf for the cluster apt repo: The playbook knows the domain for the APT repository in the cluster. It should create a dput configuration file (in /etc/dput.cf) that can upload to the cluster APT repository. The configuration should define an upload target named ick.

    Acceptance criteria: Manual testing.

  • Add action to run dput: Add an action action: dput which runs dput ick *.changes at the root of the workspace. It should assume dput has an upload target ick defined, which is the cluster’s APT repository.

    Modify ickdev.yaml to use this new action.

    Acceptance criteria: test-ick passes after the changes.