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

Add build commands for Windows MSI installer #1125

Closed
james-bebbington opened this issue Jun 16, 2020 · 5 comments
Closed

Add build commands for Windows MSI installer #1125

james-bebbington opened this issue Jun 16, 2020 · 5 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@james-bebbington
Copy link
Member

james-bebbington commented Jun 16, 2020

Add a command to build a Windows MSI installer

I'm intending to use wix to generate the MSI, and wixl / wixl-heat to run this with make on Linux, if that is relatively straightforward to get working. Failing that, I'll add some powershell commands.

Questions:

It wouldn't make sense to bake any "default" config into the MSI. Instead, I believe we can do either or both of the following (I need to confirm that the second point is possible, but it looks like it should be doable with the right wix config):

  • Make the config file an argument to the build command
  • Make the config file an argument that needs to be passed into the MSI at install time

If we do the second option, then we can produce a "generic" MSI that is broadly useful (that could be published). The install command would require something like msiexec /i otelcol.msi CONFIG=config.yaml /q

If we do the first option, then we can bake a customizable-at-build-time config into the generated MSI and users could simply install this with msiexec /i otelcol.msi /q. This could be useful for vendors who want to package their own default config.

Is there any desire for either of these options in the Core or Contrib repos? And if so, would we want to include any of this as part of CI?

@jrcamp
Copy link
Contributor

jrcamp commented Jun 16, 2020

I'm intending to use wix to generate the MSI

👍

Maybe we could install https://github.com/open-telemetry/opentelemetry-collector/blob/master/examples/otel-local-config.yaml similar to how the Docker image does. If a user wants to use it they could set (just making up a path) CONFIG=%programfiles%\OT\otel-local-config.yaml or if they've written their own config they would put it on the filesystem themselves (or maybe a tool like chef) then set CONFIG to point to it. It'd be nice to have an out of the box experience that just works without any config but it really comes down to which vendor you're using.

If we do the first option, then we can bake a customizable-at-build-time config into the generated MSI and users could simply install this with msiexec /i otelcol.msi /q. This could be useful for vendors who want to package their own default config.

I wonder if this is likely to be used given many times things need to be user-configured like access tokens, etc. Guess it depends on how well-known the environment is, like if it's reporting to some other collector at a well-known address.

Is there any desire for either of these options in the Core or Contrib repos? And if so, would we want to include any of this as part of CI?

Yeah I think we should have it in core and contrib seeing as we already produce a win32 binary in core. How it gets including in CI/release process I don't really know much about how that works. Maybe @owais or @dmitryax can help on how to add this to release.

@james-bebbington
Copy link
Member Author

james-bebbington commented Jun 17, 2020

Maybe we could install https://github.com/open-telemetry/opentelemetry-collector/blob/master/examples/otel-local-config.yaml similar to how the Docker image does.

Hmm that's weird. The Docker image doesn't seem to include any config by default from what I saw? I think the documentation is incorrect and you would actually need to mount the local config file as part of the docker run command if you want that to work? (although maybe we should update the build commands to copy in the default config as per what the documentation implies)

@owais
Copy link
Contributor

owais commented Jun 17, 2020

We don't publish docker images with any default config. We expect the user to mount a config file at /etc/otel/config.yaml.

@owais
Copy link
Contributor

owais commented Jun 17, 2020

Is there any desire for either of these options in the Core or Contrib repos? And if so, would we want to include any of this as part of CI?

Yes! This would be great to have in CI. I think we already have a window verification build. We can add a this step after that (and other build/test steps) in the publish pipeline. The publish step should also upload the MSI files to Github releases. Currently we only upload linux binaries and source tarballs.

@bogdandrutu
Copy link
Member

@james-bebbington is this resolved? If yes please close the issue.

@flands flands modified the milestones: GA 1.0, Beta 0.6.0 Jul 16, 2020
@andrewhsu andrewhsu added the enhancement New feature or request label Jan 6, 2021
MovieStoreGuy pushed a commit to atlassian-forks/opentelemetry-collector that referenced this issue Nov 11, 2021
…etry#1125)

Also simplified the first lines of some package docs
to focus on what the package provides instead of
explaining the implementation details.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
hughesjj pushed a commit to hughesjj/opentelemetry-collector that referenced this issue Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants