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

Set s3 endpoint in workflow-controller-configmap from pipeline-instal… #291

Merged
merged 1 commit into from
Jul 14, 2022

Conversation

rrrkharse
Copy link
Contributor

Which issue is resolved by this Pull Request:
Resolves #257

Description of your changes:
Passes the data.minioServiceHost from the pipeline-install-config config map into the workflow-controller-configmap config map via kustomization vars.

The data.minioServiceHost field in pipeline-install-config is pulled from the params.env file in awsconfigs/apps/pipeline/s3

Testing:

Case 1: Before this PR (s3 endpoint is static in the workflow config map)

params.env

bucketName=
minioServiceHost=s3.amazonaws.com
minioServiceRegion=

kustomize build output

---
apiVersion: v1
data:
  ConMaxLifeTime: 120s
  appName: pipeline
  appVersion: 1.8.2
  autoUpdatePipelineDefaultVersion: "true"
  bucketName: ""
  cacheDb: cachedb
  cacheImage: gcr.io/google-containers/busybox
  cacheNodeRestrictions: "false"
  cronScheduleTimezone: UTC
  dbHost: mysql
  dbPort: "3306"
  defaultPipelineRoot: ""
  minioServiceHost: s3.amazonaws.com                                   # same value as minioServiceHost=s3.amazonaws.com
  minioServiceRegion: ""
  mlmdDb: metadb
  pipelineDb: mlpipeline
  warning: |
    1. Do not use kubectl to edit this configmap, because some values are used
    during kustomize build. Instead, change the configmap and apply the entire
    kustomize manifests again.
    2. After updating the configmap, some deployments may need to be restarted
    until the changes take effect. A quick way to restart all deployments in a
    namespace: `kubectl rollout restart deployment -n <your-namespace>`.
kind: ConfigMap
metadata:
  annotations: {}
  labels:
    app.kubernetes.io/component: ml-pipeline
    app.kubernetes.io/name: kubeflow-pipelines
    application-crd-id: kubeflow-pipelines
  name: pipeline-install-config
  namespace: kubeflow
---
apiVersion: v1
data:
  config: |
    {
    artifactRepository:
    {
        s3: {
            bucket: ,
            keyPrefix: artifacts,
            endpoint: s3.amazonaws.com,                                    # static value
            insecure: true,
            accessKeySecret: {
                name: mlpipeline-minio-artifact,
                key: accesskey
            },
            secretKeySecret: {
                name: mlpipeline-minio-artifact,
                key: secretkey
            }
        },
        archiveLogs: true
    }
    }
kind: ConfigMap
metadata:
  annotations: {}
  labels:
    application-crd-id: kubeflow-pipelines
  name: workflow-controller-configmap
  namespace: kubeflow
---

Case 2: After this PR, using default minioServiceHost in params.env

params.env

bucketName=
minioServiceHost=s3.amazonaws.com
minioServiceRegion=

kustomize build output

---
apiVersion: v1
data:
  ConMaxLifeTime: 120s
  appName: pipeline
  appVersion: 1.8.2
  autoUpdatePipelineDefaultVersion: "true"
  bucketName: ""
  cacheDb: cachedb
  cacheImage: gcr.io/google-containers/busybox
  cacheNodeRestrictions: "false"
  cronScheduleTimezone: UTC
  dbHost: mysql
  dbPort: "3306"
  defaultPipelineRoot: ""
  minioServiceHost: s3.amazonaws.com                                   # same value as minioServiceHost=s3.amazonaws.com
  minioServiceRegion: ""
  mlmdDb: metadb
  pipelineDb: mlpipeline
  warning: |
    1. Do not use kubectl to edit this configmap, because some values are used
    during kustomize build. Instead, change the configmap and apply the entire
    kustomize manifests again.
    2. After updating the configmap, some deployments may need to be restarted
    until the changes take effect. A quick way to restart all deployments in a
    namespace: `kubectl rollout restart deployment -n <your-namespace>`.
kind: ConfigMap
metadata:
  annotations: {}
  labels:
    app.kubernetes.io/component: ml-pipeline
    app.kubernetes.io/name: kubeflow-pipelines
    application-crd-id: kubeflow-pipelines
  name: pipeline-install-config
  namespace: kubeflow
---
apiVersion: v1
data:
  config: |
    {
    artifactRepository:
    {
        s3: {
            bucket: ,
            keyPrefix: artifacts,
            endpoint: s3.amazonaws.com,                                    # same value as minioServiceHost=s3.amazonaws.com
            insecure: true,
            accessKeySecret: {
                name: mlpipeline-minio-artifact,
                key: accesskey
            },
            secretKeySecret: {
                name: mlpipeline-minio-artifact,
                key: secretkey
            }
        },
        archiveLogs: true
    }
    }
kind: ConfigMap
metadata:
  annotations: {}
  labels:
    application-crd-id: kubeflow-pipelines
  name: workflow-controller-configmap
  namespace: kubeflow
---

Case 3: After this PR, using custom minioServiceHost in params.env

params.env

bucketName=
minioServiceHost=s3.otherendpoint.amazonaws.com
minioServiceRegion=

kustomize build output

---
apiVersion: v1
data:
  ConMaxLifeTime: 120s
  appName: pipeline
  appVersion: 1.8.2
  autoUpdatePipelineDefaultVersion: "true"
  bucketName: ""
  cacheDb: cachedb
  cacheImage: gcr.io/google-containers/busybox
  cacheNodeRestrictions: "false"
  cronScheduleTimezone: UTC
  dbHost: mysql
  dbPort: "3306"
  defaultPipelineRoot: ""
  minioServiceHost: s3.otherendpoint.amazonaws.com      # custom value from minioServiceHost
  minioServiceRegion: ""
  mlmdDb: metadb
  pipelineDb: mlpipeline
  warning: |
    1. Do not use kubectl to edit this configmap, because some values are used
    during kustomize build. Instead, change the configmap and apply the entire
    kustomize manifests again.
    2. After updating the configmap, some deployments may need to be restarted
    until the changes take effect. A quick way to restart all deployments in a
    namespace: `kubectl rollout restart deployment -n <your-namespace>`.
kind: ConfigMap
metadata:
  annotations: {}
  labels:
    app.kubernetes.io/component: ml-pipeline
    app.kubernetes.io/name: kubeflow-pipelines
    application-crd-id: kubeflow-pipelines
  name: pipeline-install-config
  namespace: kubeflow
---
apiVersion: v1
data:
  config: |
    {
    artifactRepository:
    {
        s3: {
            bucket: ,
            keyPrefix: artifacts,
            endpoint: s3.otherendpoint.amazonaws.com,                             # custom value from minioServiceHost
            insecure: true,
            accessKeySecret: {
                name: mlpipeline-minio-artifact,
                key: accesskey
            },
            secretKeySecret: {
                name: mlpipeline-minio-artifact,
                key: secretkey
            }
        },
        archiveLogs: true
    }
    }
kind: ConfigMap
metadata:
  annotations: {}
  labels:
    application-crd-id: kubeflow-pipelines
  name: workflow-controller-configmap
  namespace: kubeflow
---

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@rrrkharse rrrkharse requested a review from surajkota July 12, 2022 21:49
@rrrkharse rrrkharse merged commit dbd101f into awslabs:main Jul 14, 2022
surajkota pushed a commit to surajkota/kubeflow-manifests that referenced this pull request Aug 6, 2022
surajkota pushed a commit to surajkota/kubeflow-manifests that referenced this pull request Aug 6, 2022
surajkota added a commit that referenced this pull request Aug 6, 2022
* Set s3 endpoint in workflow-controller-configmap from pipeline-install-config (#291)

* Added support for non-root EFS files ownership (#268)

* Updated documentation about EFS permissions

* Added gid & uid to auto efs script

* Updated EFS CSI driver to v1.4.0

* feat/267 Updated documentation about EFS & added default value for uid & gid

* Update kserve.md (#304)

* update: Adding a missing preposition in cognito guide (#307)

The preposition "to" was missing in cognito guide

* add cdk support for private subnets detection (#295)

Co-authored-by: rrrkharse <91350438+rrrkharse@users.noreply.github.com>
Co-authored-by: Alexandre Brown <26939775+AlexandreBrown@users.noreply.github.com>
Co-authored-by: Gitesh Shinde <gitesh.shinde907@gmail.com>
Co-authored-by: Jobin <76947418+kjvjobin@users.noreply.github.com>
Co-authored-by: Theofilos Papapanagiotou <theofilos@gmail.com>
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

Successfully merging this pull request may close these issues.

Hardcoded S3 endpoint url in workflow controller configmap
3 participants