Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: support ops-files from multiple repositories in bosh-deploy #2

Closed
aashah opened this issue Feb 14, 2017 · 7 comments
Closed
Labels

Comments

@aashah
Copy link

aashah commented Feb 14, 2017

Not sure whether concourse will fully be able to support this, but it'd be nice to allow teams to have their own ops files. Currently, in order to write our own, we had to "vendor" the ops-files in cf-deployment.

@cf-gitbot
Copy link

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/139854967

The labels on this github issue will be updated when the story is started.

@dsabeti
Copy link
Contributor

dsabeti commented Feb 14, 2017

@aashah Yeah, this one is hard, because concourse doesn't support making tasks with a variable number of arguments.

One thing we talked about shipping was a task that copies ops files into a centralized location. So imagine that you had the cf-deployment repo and a xena-env repo that had custom ops files in a directory called custom-ops-files. You could configure your job like this:

- name: deploy
  plan:
  - get: cf-deployment
  - get: xena-env
  - task: centralize-ops-files
    file: cf-deployment-concourse-tasks/centralize-ops-files/task.yml
    input_mapping:
      input-ops-repo: cf-deployment
      target-ops-repo: xena-env
    output_mapping:
      updated-target-ops-repo: updated-xena-env
    params:
      INPUT_OPS_FILE_PATH: operations/gcp.yml
      TARGET_OPS_FILE_PATH: custom-ops-files
  - task: bosh-deploy
    file: cf-deployment-concourse-tasks/bosh-deploy/task.yml
    input_mapping:
      ops-files: updated-xena-env
    params:
      OPS_FILES: "custom-ops-files/gcp.yml custom-ops-files/xena-specific-ops-file.yml"

The task would be REALLY simple (probably just a cp from one directory to another), so you could implement this yourself.Also, you'd have to run this task once for each ops file that you wanted to centralize. This isn't a great solution. Unfortunately, I'm not sure I can think of anything better.

Let me know if this would satisfy your use case. I'll also wait to see if other teams need something like this as well. In the meantime, I can try to poke the concourse team for help.

@medvedzver
Copy link

medvedzver commented Apr 18, 2017

I think ticket can be closed. You can specify

params:
      OPS_FILES: "file1" "file2" "file3"

according to this

@aashah
Copy link
Author

aashah commented Apr 18, 2017

Hey @medvedzver,

That only works for files that are in the same ops-files input. In our case, we have additional ops files located in a different git repository. We'd also like to use the ops-files located in cf-deployment. This is not possible, as only one resource can be bound to the ops-files input.

@medvedzver
Copy link

My bad. You are right.

@dsabeti
Copy link
Contributor

dsabeti commented May 18, 2017

Hey @aashah, we have a new story for a task that collects the ops-files from two repos into into a single input for bosh-deploy tasks. If you have more than two repos, you can always re-run this task to append more ops-files to the list.

@dsabeti
Copy link
Contributor

dsabeti commented May 25, 2017

Hey @aashah and @medvedzver, take a look at this new task. This should allow you to "collect" all of your ops-files into a single directory so that your bosh-deploy task can use it.

I'm going to close the issue, but feel free to reopen it if you have other questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants