Comments (9)
Discussion Notes:
- Schema needs a version, so that we can handle back compatibility as we rev this.
- Is Provider a Mandatory or Optional? Would you have predefined providers (Azure, AWS, GCP, OnPrem) listed or will any 'string' be ok?
- Would Target resource type be a URI or String? Is it String because we need the schema to scale to On-premise targets?
- I am assuming we are supporting only GitHub provider for Workflow. This seem like a good scoping call.
- I am assuming that schema validation will look for "String : String" in Property bag for TargetResource, but will have rich strongly type schema validation for GitHub property bag in Workflow properties.
- Remove the bootstrapconfiguration property from Workflow properties
- Can you rephrase the "Purpose" column to explain the real need of those properties, instead of just explanation on their names.
- Do we need to take traceability down all the way till Actions. Example: Multiple Action with same job can target same resource with different deployment status. How do we uniquely trace that?
- Should Artifacts also have Provider, type and Property bag instead of flat properties?
- Can we add one example for IaaS (VM Deployment) and one example for PaaS (AWS Beanstalk) with different artifact sources (Build drop and NPM or Nuget Package)
from k8s-deploy.
Here are few more open questions that came up in review with @smalpani-gh
- DockerFileUrl demands that Docker image be downloaded so that we can inspect the tag. This will be extra step during CD. Should this download be done just for traceability?
- Clarify where the k8s Deployment object traceability belongs, is it in targetResource properties or within the artifact properties?
- Why do we need Manifest Url? Who is the consumer?
- What is modified timestamp for a workflow run?
- Does jobName belong to workflowRun or workfFlow? Clarify.
- Why is workflow properties not a Uri but instead name/path etc?
- Why does dockerFile, Helm and Manifest Url all under artifact and not in Workflow inputs?
- How can user start from Azure and trace the information to which k8s deployment applied the configuration and which workflow deployment applied the configuration. Clarify the flow and which properties will be used in those cases.
cc: @rachitb777 , @ammohant , @azooinmyluggage , @pulkitaggarwl , @DS-MS
from k8s-deploy.
- Yes, traceability would need this step to surface the Docker file against the deployment resource. The Docker file path is stored as a label in the docker image.
- K8s Deployment is the run time kubernetes object create in the cluster. It belongs to the Target resource.
- The AKS deployment centre spec demanded surfacing the manifest in the UI. In general if there is an intent to see if the desired and the current state differ, manifest can help in deriving that information along with the cluster state.
- Inherited the definition from the proposed workflow resource. Modified timestamp can be done away with
- JobName belongs to workflow
- Artifact we have URIs as the source of the same can vary and hence URI, workflow path is the workflow identifier
- Open item for discussion , can consider moving it to action context within workflow section or target resource k8s context
- Details of the entry point to our experience can be found here
from k8s-deploy.
What is the right naming : Is it Microsoft/GitHub/........?
Examples https://github.com/opencontainers/image-spec/blob/master/annotations.md. http://label-schema.org/rc1/
from k8s-deploy.
Artifact: What other types will be there and why everything for K8s is of type container artifact.
from k8s-deploy.
Design question : How can we work around the need to download image and running docker inspect
from k8s-deploy.
Design question : How can we work around the need to download image and running docker inspect
Two ways that we have discussed earlier. One is store it somewhere just like ADO but we understood from GH is building some sort of a store that we can leverage. Second is to have an environment variable store the Docker file path , this is not a full proof way.
from k8s-deploy.
@smalpani-gh - This the final schema for the traceability we are closing on. Pls let us know of comments if any.
@rachitb777 @rohit-batra We can commit the final version of the schema once Sanjay gives the go ahead.
from k8s-deploy.
@rachitb777 Can I close this issue since we have deferred this work? We can open a new issue when we plan to pick this up.
from k8s-deploy.
Related Issues (20)
- Bug: Unable to get config, even after using `k8s-set-context` HOT 2
- Bug: Azure/k8s-deploy@v4 doesn't seem to be working after upgrading to AKS 1.24.9 HOT 7
- Bug: Deployment.yaml fails with ghcr.io HOT 1
- Feature Request: support re-deploy k8s job. HOT 4
- Bug: Image is not being replaced in the manifest HOT 4
- Feature Request: more spesific rollout error HOT 1
- Most of the used github actions is outdated in the expamles in the readme HOT 4
- Any way to handle delete or purge actions? HOT 4
- Bug: Unable to use the latest release of the GitHub action HOT 5
- Bug: Canary deployment the promote action doesn't fail even when kubectl apply return error HOT 2
- Bug: Azure/k8s-deploy@v4 cannot file path of .aml file HOT 4
- Bug: Validation error "Error: Error: undefined" HOT 1
- Bug: cannot use set-context as reusable workflow HOT 1
- Feature Request: add server-side flag
- Bug: deprecated NodeJs version HOT 1
- k8s-deploy does not update pods with new images HOT 1
- Bug: fails to deploy two manifests with the same name HOT 2
- Bug: pod is not restarted if docker tag name is not changed
- Feature Request: Make namespace input optional
- Bug: Deploying manifests ERROR: Undefined
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from k8s-deploy.