https://pulumi.com logo
Docs
Join the conversationJoin Slack
Channels
announcements
automation-api
aws
azure
blog-posts
built-with-pulumi
cloudengineering
cloudengineering-support
content-share
contribex
contribute
docs
dotnet
finops
general
getting-started
gitlab
golang
google-cloud
hackathon-03-19-2020
hacktoberfest
install
java
jobs
kubernetes
learn-pulumi-events
linen
localstack
multi-language-hackathon
office-hours
oracle-cloud-infrastructure
plugin-framework
pulumi-cdk
pulumi-crosscode
pulumi-deployments
pulumi-kubernetes-operator
pulumi-service
pulumiverse
python
registry
status
testingtesting123
testingtesting321
typescript
welcome
workshops
yaml
Powered by Linen
general
  • s

    salmon-pizza-65823

    09/14/2018, 3:02 PM
    (and most importantly, where i’d look for how it propagates error states, if for example some init-container might be crashlooping or otherwise not working)
    m
    • 2
    • 4
  • c

    creamy-potato-29402

    09/14/2018, 4:16 PM
    < 1 day after tweet storming about the Kubernetes stuff, someone wrote a vscode extension: https://github.com/itowlson/vscode-pulumi-kubernetes
    w
    • 2
    • 1
  • c

    creamy-potato-29402

    09/14/2018, 4:16 PM
    bananas.
    ❤️ 1
    🎉 2
  • s

    salmon-pizza-65823

    09/14/2018, 4:37 PM
    trying to wrap my head around how i’d structure a smaller project of mine — is there any examples of something that depends on the outputs of a resource? .. i guess the mechanism would be used quite a lot outside of k8s scope as well, when standing up cloud infra but the configmap example might look like something i need in k8s world
    c
    • 2
    • 1
  • s

    salmon-pizza-65823

    09/14/2018, 5:32 PM
    okay, so looked a bit at the configmap example and there’s something i don’t understand from the README description in the folder https://github.com/pulumi/examples/blob/master/kubernetes-ts-configmap-rollout/index.ts the “update config with new name” and update dependent deployments — where exactly is this behavior encoded? is this a general thing with any object referring to a configmap? is this prevalent with other object dependency relationships elsewhere?
    c
    • 2
    • 7
  • f

    flaky-receptionist-88878

    09/14/2018, 8:06 PM
    Why does let siteBucket = new aws.s3.Bucket(“s3-bob-pr000001”); result in a bucket name of s3-bob-pr000001-d16b3d1 ?
    m
    c
    s
    • 4
    • 12
  • g

    glamorous-printer-66548

    09/14/2018, 9:55 PM
    what exact effects does it have to make a resource A be the
    parent
    vs
    dependsOn
    of another resource B? I’m currently just arguing whether I should make the k8s namespace of my app the parent or dependsOn of the resources inside the namespace.
    i
    m
    • 3
    • 8
  • w

    wooden-toddler-96888

    09/14/2018, 9:58 PM
    I'm aaaalmost there with getting Travis CI managing all infra. I got this:
    kubernetes:apps:Deployment kube-system/kubernetes-dashboard updating 1 error. error: Plan apply failed: unable to fetch resource description for apps/v1beta2: Unauthorized
    Is this a problem speaking to the k8s cluster? I'm using kubeconfig that comes out of the eks resource that is launched right above.
    c
    • 2
    • 4
  • g

    glamorous-printer-66548

    09/14/2018, 10:47 PM
    hi, is it possible to have set some sort of global config or secrets that can be reused across stacks and apps? In our case we have two common npm and gemfury tokens that we need in a lot places.
    w
    • 2
    • 3
  • d

    dry-pilot-73614

    09/14/2018, 10:58 PM
    I'm getting errors provisioning gcp resources, e.g.
    Plan apply failed: Error, failed to create instance unleash: googleapi: Error 403: Access Not Configured. Cloud SQL Admin API has not been used in project 563584335869 before or it is disabled. Enable it by visiting <https://console.developers.google.com/apis/api/sqladmin.googleapis.com/overview?project=563584335869> then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry., accessNotConfigured
    I do have sqladmin.googleapis.com enabled, but 563584335869 is not my project.
    c
    w
    • 3
    • 12
  • f

    flaky-receptionist-88878

    09/15/2018, 3:31 AM
    Is there a way to add some code that only executes during the apply phase and not during the plan phase?
  • f

    flaky-receptionist-88878

    09/15/2018, 3:32 AM
    In my case I want to build a docker container and once it’s built do a docker run and run some tests on it.
  • f

    flaky-receptionist-88878

    09/15/2018, 3:32 AM
    The problem from what I can tell is my test code is firing during the plan before the image exists
  • f

    flaky-receptionist-88878

    09/15/2018, 3:32 AM
    chicken and egg problem
  • f

    flaky-receptionist-88878

    09/15/2018, 3:33 AM
    index_ts.ts
  • f

    flaky-receptionist-88878

    09/15/2018, 3:34 AM
    My test on line 26 can only run if the image has already been created, but at the plan stage it seems it’s not created yet so I get a image not found error
  • f

    flaky-receptionist-88878

    09/15/2018, 3:34 AM
    I know I could check if the image is there, but this got me to just thinking in general if there’s a way to say only run this stuff at apply time.
  • f

    flaky-receptionist-88878

    09/15/2018, 3:36 AM
    Seems like it might be more of an order problem
  • b

    bitter-oil-46081

    09/15/2018, 3:36 AM
    You should be able to import the isDryRun function from
    @pulumi/pulumi/runtime/settings
    👍 1
  • f

    flaky-receptionist-88878

    09/15/2018, 3:38 AM
    Cool something new to add to my toolbox.
  • f

    flaky-receptionist-88878

    09/15/2018, 3:44 AM
    I may of mispoke after the plan runs I can see the image in my locker images docker images | grep bob
  • f

    flaky-receptionist-88878

    09/15/2018, 3:44 AM
    So this may be a case of my shell.exec tests code being called out of order
  • f

    flaky-receptionist-88878

    09/15/2018, 3:44 AM
    , before the plan creates the local image
  • f

    flaky-receptionist-88878

    09/15/2018, 4:06 AM
    This may be me not understanding the order of type script execution
  • f

    flaky-receptionist-88878

    09/15/2018, 4:06 AM
    I was reading that sequently
  • f

    flaky-receptionist-88878

    09/15/2018, 4:07 AM
    Or a burned mind trying stuff after a full days work
  • w

    wooden-toddler-96888

    09/16/2018, 6:49 PM
    Okay... next quick question. When I see something like this:
    function getLoadBalancer(args, opts) {
        return pulumi.runtime.invoke("aws:elasticloadbalancing/getLoadBalancer:getLoadBalancer", {
            "name": args.name,
            "tags": args.tags,
        }, opts);
    }
    How do I find the code for
    aws:elasticloadbalancing/getLoadBalancer:getLoadBalancer
    ? For quick context, this is what I'm trying to do. Since I'm launching a service of type LoadBalancer on EKS, I then want to get the ELB object and create a Route53 Alias to it. Since I need ELB name to
    getLoadBalancer
    , but EKS gives me the DNS Name or Hostname, I wanted to write a new function to get LoadBalancer by that name. I presume this'll also help when I get to launching an Ingress Controller. Of course in your blog post this works great because when you launch a CloudFront distribution, you get a rich object back. Also tell me if I'm going about this all wrong. I have a hello world launching from EKS. Just need to wire up the last Route53 record.
    w
    • 2
    • 2
  • g

    glamorous-printer-66548

    09/16/2018, 8:15 PM
    heyho folks. I have some feedback on the project and stack naming. Currently as I understand it a stack is always more or less an “instance” / “deployment” of a project. Or in other words, each stack belongs to exactly 1 project. I think it is safe to assume that most organizations will have more than 1 project. However for some reason the pulumi cloud app requires each stack name to be unique across the entire organization, not just within the project. In practice that means if I want to use common stack names like:
    staging
    or
    prod
    I always have to prefix or suffix the stack name with the name of the project in which it is contained, which seems pretty redundant and actually leads to really long stack names for no apparent reason. I think it would be better if stack names are only required to be unique within a project. To depict this via an example: Ideally It’d like to have names like this: project: my-fancy-project - stack: staging - stack: prod However because of the limitations above I have to use names like this: project: my-fancy-project - stack: my-fancy-project-staging - stack: my-fancy-project-prod The pulumi CLI also shows in the preview an odd and quite long looking name like this: TYPE NAME pulumi😛ulumi:Stack my-fancy-project-my-fancy-project-staging A really concrete problem with the long stack names is that the
    name
    column of the pulumi😛ulumi:Stack resource in the
    pulumi preview
    uses up so much space that on a notebook there’s barely any space left for the
    Info
    column and I’m often not able to decypher what a particular error message in the Info column actually says.
  • q

    quiet-wolf-18467

    09/17/2018, 10:47 AM
    👋
  • q

    quiet-wolf-18467

    09/17/2018, 10:52 AM
    I've just come across Pulumi. It looks super interesting. I was wondering if it's possible for each of my services to have their own Pulumi code in their own repo, but have an
    infrastructure
    repo that could pull in their resources for a single deployment mechanism? Would anyone advise against that?
    w
    s
    +2
    • 5
    • 17
Powered by Linen
Title
q

quiet-wolf-18467

09/17/2018, 10:52 AM
I've just come across Pulumi. It looks super interesting. I was wondering if it's possible for each of my services to have their own Pulumi code in their own repo, but have an
infrastructure
repo that could pull in their resources for a single deployment mechanism? Would anyone advise against that?
w

white-balloon-205

09/17/2018, 1:14 PM
Totally possible - and a very reasonable approach. Indeed, because you can use NPM (or pip) packages, you could have your services publish real NPM packages and then consume those from your
infrastructure
repo (instead of just `git clone`ing the service repo - though that would work fine too). Packages provide a native way to do versioning and dependency management.
q

quiet-wolf-18467

09/17/2018, 1:18 PM
Is there an example of this approach? Something simple, like a repo consuming a bucket creation from another package? I couldn't see any dependency stuff in the exampes on GitHub 🙂
Thanks for your comments, I'm excited that I'm not walking down the wrong path 😄
s

stocky-spoon-28903

09/17/2018, 2:00 PM
@quiet-wolf-18467 you can check out the aws-infra repo for that
I’ll find a link when I get to a computer unless someone else does first
q

quiet-wolf-18467

09/17/2018, 2:16 PM
I'll take a look. Thanks
b

big-piano-35669

09/17/2018, 2:51 PM
I'll just mention an alternative pattern that I've seen users be successful with, because publishing/consuming packages and managing versions can be a little tricky for simple cases. You can always use Git submodules for this. Have N repos, and then just aggregate them all in your infrastructure repo within submodules. Git submodules are certainly not without their flaws, but this can be a quick and easy way to get up and running.
s

stocky-spoon-28903

09/17/2018, 3:00 PM
Importing as git references to a particular commit SHA or tag probably is a nicer workflow too than publishing packages to npm
I wonder if part of the pulumi service shouldn’t be a ‘private’ npm registry 🤔
q

quiet-wolf-18467

09/17/2018, 3:06 PM
Has anyone attempted "GitOps" pipelines with Pulumi?
Also, is there GitLab support / integrations in the roadmap? 🙂
w

white-balloon-205

09/17/2018, 3:15 PM
Has anyone attempted “GitOps” pipelines with Pulumi?
Yes - many Pulumi users are using a GitOps style deployment pipeline. See https://pulumi.io/reference/cd.html for details on CI integration.
is there GitLab support / integrations in the roadmap?
Yes! Definitely interested in co-developing with users on this. Cc @square-apartment-28429.
w

wooden-toddler-96888

09/17/2018, 4:43 PM
I'll +1 attest to that. I've got Pulumi GitOps pipelines as well.
q

quiet-wolf-18467

09/17/2018, 4:48 PM
Anything you can share, @wooden-toddler-96888?
w

wooden-toddler-96888

09/17/2018, 4:53 PM
I'd say my only current fear/pain point is pressing "Ctrl+C" when something's happening on my local env, and then having to manually reconcile the stack. So I occasionally fear what happens if some operation times out when Travis CI is running the update. I'm pretty sure at some point the various modules can get the state in the cloud for what resources are pending, completed, etc. But for simple websites, or pushes to S3, etc. it's a lot better than Github->CodeBuild->AWS CLI->S3 + manually configured S3 bucket + manually pointed CloudFront distro, etc.
I personally love solutions that for some segments are a slam dunk + have rough edges for others (vs solutions that are just mediocre for everything.) For me Pulumi is solving for ALL my low-hanging fruit and it works 100%. That's such a huge relief.
View count: 1