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

deploy command is too restrictive #44

Open
gorkem opened this issue Oct 7, 2018 · 2 comments
Open

deploy command is too restrictive #44

gorkem opened this issue Oct 7, 2018 · 2 comments

Comments

@gorkem
Copy link

gorkem commented Oct 7, 2018

deploy command is too restrictive for multi-container scenarios. deploy requires certain resources to exist on the resource yaml but in the case of multi-container applications there can be multiple files that are applied. For instance if application requires 2 DeploymentConfigs one for a database and one for the application to be build, it is common (and perhaps mandatory) to separate the deployment configs to separate files and deploy them individually. An application can easily not have Service and Route.

@hrishin
Copy link
Member

hrishin commented Oct 7, 2018

hi @gorkem

. An application can easily not have Service and Route.

This is what you mean to say https://github.com/fabric8io/osio-pipeline/blob/master/vars/deploy.groovy#L46, just porcess all the resources and apply them?

one for the application to be build, it is common (and perhaps mandatory) to separate the deployment configs to separate files and deploy them individually

This is achiveable with loadResources API.

@gorkem
Copy link
Author

gorkem commented Oct 7, 2018

The issue is the required fields [1]. loadResources is fine but it does not apply the resources to the namespace. One needs to use deploy for that and deploy is restricted. If you remove the restrictions from deploy then it can be used to apply all kinds of resources and scenarios.

As an exercise try to deploy penfold [2]. It is a multi-container app with a database. It does not expose any routes. It is already trying to use the osio-pipeline but because of restrictions it can not deploy. As far as I can see those restrictions are the only impediment to support multi-clusters on the library.

I am really failing to see why we have required fields for deploy? Can you explain the reasons?

[1]

def required = ['ImageStream', 'DeploymentConfig', 'Service', 'Route', 'meta']

[2] https://github.com/gorkem/penfold

@hrishin hrishin closed this as completed in 923c6a2 Oct 8, 2018
@hrishin hrishin reopened this Oct 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants