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

Inject parameters and credentials into dependencies #990

Closed
carolynvs opened this issue Apr 15, 2020 · 4 comments
Closed

Inject parameters and credentials into dependencies #990

carolynvs opened this issue Apr 15, 2020 · 4 comments
Labels
hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please. suggestion Idea for maintainers to consider. Do not take this issue until triaged.
Milestone

Comments

@carolynvs
Copy link
Member

Ideally I'd love to be able to compose bundles together, by doing something like:

name: wordpress-on-aks
version: 0.1.0
description: "Deploys AKS cluster with nginx ingress controller and installs Wordpress"
tag: wordpress-on-aks:0.1.0

parameters:
  - name: aks_cluster_name
    type: string
  - name: dns_name
    type: string
  - name: wordpress_username
    type: string

dependencies:
  aks:
    tag: aks:0.1.0
    parameters:
      cluster_name: "{{ bundle.parameters.aks_cluster_name }}"
  aks-nginx-ingress:
    tag: aks-nginx-ingress:0.1.0
    credentials:
      kubeconfig: "{{ bundle.dependencies.aks.outputs.kubeconfig }}"
    parameters:
      dns_name: "{{ bundle.parameters.dns_name }}"
  wordpress:
    tag: wordpress:0.1.0
    credentials:
      kubeconfig: "{{ bundle.dependencies.aks.outputs.kubeconfig }}"
    parameters:
      username: "{{ bundle.parameters.wordpress_username }}"
      host: "{{ bundle.dependencies.aks-nginx-ingress.outputs.fqdn }}"

i.e. being able to pass parameters/credentials/outputs from parent to child, and from sibling to sibling.

This was originally requested by @MikeLarah in Azure/azure-cnab-quickstarts#65 (comment)

@carolynvs carolynvs added the suggestion Idea for maintainers to consider. Do not take this issue until triaged. label Apr 15, 2020
@carolynvs carolynvs added this to the Dependencies milestone Apr 15, 2020
@carolynvs
Copy link
Member Author

Heads up that bundle.dependencies.aks.outputs.kubeconfig depends upon #1069

@marrobi
Copy link

marrobi commented Aug 13, 2021

Is this any nearer being completed?

I need to use the parent bundle parameters in the dependency.

Something like:

dependencies:
  - name: tre-workspace-vanilla
    reference: xxx.azurecr.io/tre-workspace-base:v0.1.0
    parameters:
      tre_id: "{{ bundle.parameters.tre_id }}"
      workspace_id: "{{ bundle.parameters.workspace_id }}"
      azure_location: "{{ bundle.parameters.azure_location }}"
      address_space: "{{ bundle.parameters.address_space }}"

@carolynvs
Copy link
Member Author

Dependencies are slated for a big rewrite, which would support this, but on the roadmap it's slated for next year. As always if someone is interested in collaborating in a design and submitting PRs to implement it, we are happy to make things happen sooner.

@carolynvs
Copy link
Member Author

Closing as this will be implemented as part of PEP 003

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please. suggestion Idea for maintainers to consider. Do not take this issue until triaged.
Projects
None yet
Development

No branches or pull requests

2 participants