more auto
This commit is contained in:
		
							parent
							
								
									338ea302c8
								
							
						
					
					
						commit
						872a3e782c
					
				
							
								
								
									
										17
									
								
								.metadata.sh
								
								
								
								
							
							
						
						
									
										17
									
								
								.metadata.sh
								
								
								
								
							|  | @ -1,6 +1,8 @@ | ||||||
| # Each line must have an export clause. | # Each line must have an export clause. | ||||||
| # This file is parsed and sourced by the Makefile, Docker and Homebrew builds. | # This file is parsed and sourced by the Makefile, Docker and Homebrew builds. | ||||||
| TITLE="UniFi Poller" | 
 | ||||||
|  | # Must match the repo name. | ||||||
|  | BINARY="unifi-poller" | ||||||
| # github username | # github username | ||||||
| GHUSER="davidnewhall" | GHUSER="davidnewhall" | ||||||
| # docker hub username | # docker hub username | ||||||
|  | @ -9,19 +11,21 @@ MAINT="David Newhall II <david at sleepers dot pro>" | ||||||
| VENDOR="Go Lift" | VENDOR="Go Lift" | ||||||
| DESC="Polls a UniFi controller and stores metrics in InfluxDB" | DESC="Polls a UniFi controller and stores metrics in InfluxDB" | ||||||
| GOLANGCI_LINT_ARGS="--enable-all -D gochecknoglobals" | GOLANGCI_LINT_ARGS="--enable-all -D gochecknoglobals" | ||||||
|  | # Example must exist at examples/$CONFIG_FILE.example | ||||||
| CONFIG_FILE="up.conf" | CONFIG_FILE="up.conf" | ||||||
| LICENSE="MIT" | LICENSE="MIT" | ||||||
| 
 | 
 | ||||||
| # The rest if mostly automatic. | export BINARY GHUSER DHUSER MAINT VENDOR DESC GOLANGCI_LINT_ARGS CONFIG_FILE LICENSE | ||||||
| BINARY="$(basename $(git rev-parse --show-toplevel))" | 
 | ||||||
| [ "$BINARY" != "" ] || BINARY="$(basename $(pwd))" | # The rest is mostly automatic. | ||||||
|  | 
 | ||||||
| GHREPO="${GHUSER}/${BINARY}" | GHREPO="${GHUSER}/${BINARY}" | ||||||
| URL="https://github.com/${GHREPO}" | URL="https://github.com/${GHREPO}" | ||||||
| 
 | 
 | ||||||
| # This parameter is passed in as -X to go build. Used to override the Version variable in a package. | # This parameter is passed in as -X to go build. Used to override the Version variable in a package. | ||||||
| # This makes a path like github.com/davidnewhall/unifi-poller/unifipoller.Version=1.3.3 | # This makes a path like github.com/davidnewhall/unifi-poller/unifipoller.Version=1.3.3 | ||||||
| # Name the Version-containing library the same as the github repo, without dashes. | # Name the Version-containing library the same as the github repo, without dashes. | ||||||
| VERSION_PATH="github.com/${GHUSER}/${BINARY}/$(echo ${BINARY} | tr -d -- -).Version" | VERSION_PATH="github.com/${GHREPO}/$(echo ${BINARY} | tr -d -- -).Version" | ||||||
| 
 | 
 | ||||||
| # Dynamic. Recommend not changing. | # Dynamic. Recommend not changing. | ||||||
| VERSION="$(git tag -l --merged | tail -n1 | tr -d v || echo development)" | VERSION="$(git tag -l --merged | tail -n1 | tr -d v || echo development)" | ||||||
|  | @ -30,5 +34,4 @@ ITERATION=$(git rev-list --count --all || echo 0) | ||||||
| DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" | DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" | ||||||
| COMMIT="$(git rev-parse --short HEAD || echo 0)" | COMMIT="$(git rev-parse --short HEAD || echo 0)" | ||||||
| 
 | 
 | ||||||
| export TITLE GHUSER DHUSER MAINT VENDOR DESC CONFIG_FILE LICENSE GOLANGCI_LINT_ARGS | export GHREPO URL VERSION_PATH VERSION ITERATION DATE COMMIT | ||||||
| export BINARY GHREPO URL VERSION_PATH VERSION ITERATION DATE COMMIT |  | ||||||
|  |  | ||||||
							
								
								
									
										33
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										33
									
								
								Makefile
								
								
								
								
							|  | @ -42,7 +42,7 @@ release: clean vendor test macos arm windows linux_packages | ||||||
| clean: | clean: | ||||||
| 	# Cleaning up. | 	# Cleaning up. | ||||||
| 	rm -f $(BINARY) $(BINARY).*.{macos,linux,exe}{,.gz,.zip} $(BINARY).1{,.gz} $(BINARY).rb | 	rm -f $(BINARY) $(BINARY).*.{macos,linux,exe}{,.gz,.zip} $(BINARY).1{,.gz} $(BINARY).rb | ||||||
| 	rm -f $(BINARY){_,-}*.{deb,rpm} v*.tar.gz.sha256 | 	rm -f $(BINARY){_,-}*.{deb,rpm} v*.tar.gz.sha256 .metadata.make | ||||||
| 	rm -f cmd/$(BINARY)/README{,.html} README{,.html} ./$(BINARY)_manual.html | 	rm -f cmd/$(BINARY)/README{,.html} README{,.html} ./$(BINARY)_manual.html | ||||||
| 	rm -rf package_build_* release | 	rm -rf package_build_* release | ||||||
| 
 | 
 | ||||||
|  | @ -254,15 +254,17 @@ $(BINARY)_$(VERSION)-$(ITERATION)_armhf.deb: package_build_linux_armhf check_fpm | ||||||
| 
 | 
 | ||||||
| docker: | docker: | ||||||
| 	docker build -f init/docker/Dockerfile \
 | 	docker build -f init/docker/Dockerfile \
 | ||||||
| 		--build-arg "BUILD_DATE=${DATE}" \
 | 		--build-arg "BUILD_DATE=$(DATE)" \
 | ||||||
| 		--build-arg "COMMIT=${COMMIT}" \
 | 		--build-arg "COMMIT=$(COMMIT)" \
 | ||||||
| 		--build-arg "VERSION=${VERSION}-${ITERATION}" \
 | 		--build-arg "VERSION=$(VERSION)-$(ITERATION)" \
 | ||||||
| 		--build-arg "LICENSE=${LICENSE}" \
 | 		--build-arg "LICENSE=$(LICENSE)" \
 | ||||||
| 		--build-arg "TITLE=${TITLE}" \
 | 		--build-arg "DESC=$(DESC)" \
 | ||||||
| 		--build-arg "DESC=${DESC}" \
 | 		--build-arg "URL=$(URL)" \
 | ||||||
| 		--build-arg "URL=${URL}" \
 | 		--build-arg "VENDOR=$(VENDOR)" \
 | ||||||
| 		--build-arg "VENDOR=${VENDOR}" \
 | 		--build-arg "AUTHOR=$(MAINT)" \
 | ||||||
| 		--build-arg "AUTHOR=${MAINT}" \
 | 		--build-arg "BINARY=$(BINARY)" \
 | ||||||
|  | 		--build-arg "GHREPO=$(GHREPO)" \
 | ||||||
|  |     --build-arg "CONFIG_FILE=$(CONFIG_FILE)" \
 | ||||||
| 		--tag $(DHUSER)/$(BINARY):local . | 		--tag $(DHUSER)/$(BINARY):local . | ||||||
| 
 | 
 | ||||||
| # Build an environment that can be packaged for linux.
 | # Build an environment that can be packaged for linux.
 | ||||||
|  | @ -306,8 +308,15 @@ v$(VERSION).tar.gz.sha256: | ||||||
| 	curl -sL $(URL)/archive/v$(VERSION).tar.gz | openssl dgst -r -sha256 | tee $@ | 	curl -sL $(URL)/archive/v$(VERSION).tar.gz | openssl dgst -r -sha256 | tee $@ | ||||||
| $(BINARY).rb: v$(VERSION).tar.gz.sha256 | $(BINARY).rb: v$(VERSION).tar.gz.sha256 | ||||||
| 	# Creating formula from template using sed. | 	# Creating formula from template using sed. | ||||||
| 	sed "s/{{Version}}/$(VERSION)/g;s/{{SHA256}}/`head -c64 $<`/g;s/{{Desc}}/$(DESC)/g;s%{{URL}}%$(URL)%g" init/homebrew/$(BINARY).rb.tmpl | tee $(BINARY).rb | 	sed -e "s/{{Version}}/$(VERSION)/g" \
 | ||||||
| 
 | 		-e "s/{{Iter}}/$(ITERATION)/g" \
 | ||||||
|  | 		-e "s/{{SHA256}}/$(shell head -c64 $<)/g" \
 | ||||||
|  | 		-e "s/{{Desc}}/$(DESC)/g" \
 | ||||||
|  | 		-e "s%{{URL}}%$(URL)%g" \
 | ||||||
|  | 		-e "s%{{GHREPO}}%$(GHREPO)%g" \
 | ||||||
|  | 		-e "s%{{CONFIG_FILE}}%$(CONFIG_FILE)%g" \
 | ||||||
|  | 		-e "s%{{Class}}%$(shell echo $(BINARY) | perl -pe 's/(?:\b|-)(\p{Ll})/\u$$1/g')%g" \
 | ||||||
|  | 		init/homebrew/$(BINARY).rb.tmpl | tee $(BINARY).rb | ||||||
| # Extras
 | # Extras
 | ||||||
| 
 | 
 | ||||||
| # Run code tests and lint.
 | # Run code tests and lint.
 | ||||||
|  |  | ||||||
|  | @ -6,31 +6,26 @@ ARG ARCH=amd64 | ||||||
| ARG OS=linux | ARG OS=linux | ||||||
| ARG BUILD_DATE=0 | ARG BUILD_DATE=0 | ||||||
| ARG COMMIT=0 | ARG COMMIT=0 | ||||||
| ARG VERSION=development | ARG VERSION=unknown | ||||||
|  | ARG BINARY=application-builder | ||||||
|  | ARG GHREPO=golift/application-builder | ||||||
| 
 | 
 | ||||||
| FROM golang:stretch as builder | FROM golang:stretch as builder | ||||||
| ARG ARCH | ARG ARCH | ||||||
| ARG OS | ARG OS | ||||||
|  | ARG BINARY | ||||||
|  | ARG GHREPO | ||||||
| 
 | 
 | ||||||
| RUN mkdir -p $GOPATH/pkg/mod $GOPATH/bin $GOPATH/src/github.com/davidnewhall/unifi-poller | RUN mkdir -p $GOPATH/pkg/mod $GOPATH/bin $GOPATH/src/github.com/${GHREPO} | ||||||
| RUN apt-get update \ | RUN apt-get update \ | ||||||
|   && apt-get install -y curl  \ |   && apt-get install -y curl  \ | ||||||
|   && curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh |   && curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh | ||||||
| 
 | 
 | ||||||
| COPY . $GOPATH/src/github.com/davidnewhall/unifi-poller | COPY . $GOPATH/src/github.com/${GHREPO} | ||||||
| WORKDIR $GOPATH/src/github.com/davidnewhall/unifi-poller | WORKDIR $GOPATH/src/github.com/${GHREPO} | ||||||
| 
 | 
 | ||||||
| RUN dep ensure --vendor-only \ | RUN dep ensure --vendor-only \ | ||||||
|   && CGO_ENABLED=0 make unifi-poller.${ARCH}.${OS} |   && CGO_ENABLED=0 make ${BINARY}.${ARCH}.${OS} | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # creating container for run |  | ||||||
| # to use this container use the following command: |  | ||||||
| # |  | ||||||
| # docker run -d -v /your/config/up.conf:/etc/unifi-poller/up.conf golift/unifi-poller |  | ||||||
| # |  | ||||||
| # by using "-e UNIFI_PASSWORD=your-secret-pasword" you can avoid this configuration in the config file |  | ||||||
| # |  | ||||||
| 
 | 
 | ||||||
| FROM scratch | FROM scratch | ||||||
| ARG ARCH | ARG ARCH | ||||||
|  | @ -39,28 +34,30 @@ ARG BUILD_DATE | ||||||
| ARG COMMIT | ARG COMMIT | ||||||
| ARG VERSION | ARG VERSION | ||||||
| ARG LICENSE=MIT | ARG LICENSE=MIT | ||||||
| ARG TITLE=unifi-poller | ARG BINARY | ||||||
| ARG URL=http://github.com/davidnewhall/unifi-poller | ARG GHREPO | ||||||
| ARG DESC=unifi-poller | ARG URL=http://github.com/golift/application-builder | ||||||
|  | ARG DESC=application-builder | ||||||
| ARG VENDOR=golift | ARG VENDOR=golift | ||||||
| ARG AUTHOR=golift | ARG AUTHOR=golift | ||||||
|  | ARG CONFIG_FILE=config.conf | ||||||
| 
 | 
 | ||||||
| # Build-time metadata as defined at https://github.com/opencontainers/image-spec/blob/master/annotations.md | # Build-time metadata as defined at https://github.com/opencontainers/image-spec/blob/master/annotations.md | ||||||
| LABEL org.opencontainers.image.created="${BUILD_DATE}" \ | LABEL org.opencontainers.image.created="${BUILD_DATE}" \ | ||||||
|       org.opencontainers.image.title="${TITLE}" \ |       org.opencontainers.image.title="${BINARY}" \ | ||||||
|       org.opencontainers.image.documentation="${URL}/wiki/Docker" \ |       org.opencontainers.image.documentation="${URL}/wiki/Docker" \ | ||||||
|       org.opencontainers.image.description="${DESC}" \ |       org.opencontainers.image.description="${DESC}" \ | ||||||
|       org.opencontainers.image.url="${URL}" \ |       org.opencontainers.image.url="${URL}" \ | ||||||
|       org.opencontainers.image.revision="${COMMIT}" \ |       org.opencontainers.image.revision="${COMMIT}" \ | ||||||
|       org.opencontainers.image.source="${URL}" \ |       org.opencontainers.image.source="https://github.com/${GHREPO}" \ | ||||||
|       org.opencontainers.image.vendor="${VENDOR}" \ |       org.opencontainers.image.vendor="${VENDOR}" \ | ||||||
|       org.opencontainers.image.authors="${AUTHOR}" \ |       org.opencontainers.image.authors="${AUTHOR}" \ | ||||||
|       org.opencontainers.image.architecture="${OS} ${ARCH}" \ |       org.opencontainers.image.architecture="${OS} ${ARCH}" \ | ||||||
|       org.opencontainers.image.licenses="${LICENSE}" \ |       org.opencontainers.image.licenses="${LICENSE}" \ | ||||||
|       org.opencontainers.image.version="${VERSION}" |       org.opencontainers.image.version="${VERSION}" | ||||||
| 
 | 
 | ||||||
| COPY --from=builder /go/src/github.com/davidnewhall/unifi-poller/unifi-poller.${ARCH}.${OS} /unifi-poller | COPY --from=builder /go/src/github.com/${GHREPO}/${BINARY}.${ARCH}.${OS} /image | ||||||
| COPY --from=builder /go/src/github.com/davidnewhall/unifi-poller/examples/up.conf.example /etc/unifi-poller/up.conf | COPY --from=builder /go/src/github.com/${GHREPO}/examples/${CONFIG_FILE}.example /etc/${BINARY}/${CONFIG_FILE} | ||||||
| 
 | 
 | ||||||
| VOLUME [ "/etc/unifi-poller" ] | VOLUME [ "/etc/${BINARY}" ] | ||||||
| ENTRYPOINT [ "/unifi-poller" ] | ENTRYPOINT [ "/image" ] | ||||||
|  |  | ||||||
|  | @ -21,11 +21,13 @@ for build in $BUILDS; do | ||||||
|     --build-arg "COMMIT=${COMMIT}" \ |     --build-arg "COMMIT=${COMMIT}" \ | ||||||
|     --build-arg "VERSION=${VERSION}-${ITERATION}" \ |     --build-arg "VERSION=${VERSION}-${ITERATION}" \ | ||||||
|     --build-arg "LICENSE=${LICENSE}" \ |     --build-arg "LICENSE=${LICENSE}" \ | ||||||
|     --build-arg "TITLE=${TITLE}" \ |  | ||||||
|     --build-arg "DESC=${DESC}" \ |     --build-arg "DESC=${DESC}" \ | ||||||
|     --build-arg "URL=${URL}" \ |     --build-arg "URL=${URL}" \ | ||||||
|     --build-arg "VENDOR=${VENDOR}" \ |     --build-arg "VENDOR=${VENDOR}" \ | ||||||
|     --build-arg "AUTHOR=${MAINT}" \ |     --build-arg "AUTHOR=${MAINT}" \ | ||||||
|  |     --build-arg "BINARY=${BINARY}" \ | ||||||
|  |     --build-arg "GHREPO=${GHREPO}" \ | ||||||
|  |     --build-arg "CONFIG_FILE=${CONFIG_FILE}" \ | ||||||
|     --tag "${IMAGE_NAME}_${os}_${name}" \ |     --tag "${IMAGE_NAME}_${os}_${name}" \ | ||||||
|     --file ${DOCKERFILE_PATH} . |     --file ${DOCKERFILE_PATH} . | ||||||
| done | done | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| # Homebrew Formula Template. Built by Makefile: `make fomula` | # Homebrew Formula Template. Built by Makefile: `make fomula` | ||||||
| class UnifiPoller < Formula | class {{Class}} < Formula | ||||||
|   desc "{{Desc}}" |   desc "{{Desc}}" | ||||||
|   homepage "{{URL}}" |   homepage "{{URL}}" | ||||||
|   url "{{URL}}/archive/v{{Version}}.tar.gz" |   url "{{URL}}/archive/v{{Version}}.tar.gz" | ||||||
|  | @ -12,27 +12,25 @@ class UnifiPoller < Formula | ||||||
|   def install |   def install | ||||||
|     ENV["GOPATH"] = buildpath |     ENV["GOPATH"] = buildpath | ||||||
| 
 | 
 | ||||||
|     bin_path = buildpath/"src/github.com/davidnewhall/unifi-poller" |     bin_path = buildpath/"src/github.com/{{GHREPO}}" | ||||||
|     # Copy all files from their current location (GOPATH root) |     # Copy all files from their current location (GOPATH root) | ||||||
|     # to $GOPATH/src/github.com/davidnewhall/unifi-poller |     # to $GOPATH/src/github.com/{{GHREPO}} | ||||||
|     bin_path.install Dir["*"] |     bin_path.install Dir["*",".??*"] | ||||||
|     cd bin_path do |     cd bin_path do | ||||||
|       system "dep", "ensure", "--vendor-only" |       system "dep", "ensure", "--vendor-only" | ||||||
|       system "make", "install", "VERSION=#{version}", "PREFIX=#{prefix}", "ETC=#{etc}" |       system "make", "install", "VERSION=#{version}", "ITERATION={{Iter}}", "PREFIX=#{prefix}", "ETC=#{etc}" | ||||||
|       # If this fails, the user gets a nice big warning about write permissions on their |       # If this fails, the user gets a nice big warning about write permissions on their | ||||||
|       # #{var}/log folder. The alternative could be letting the app silently fail |       # #{var}/log folder. The alternative could be letting the app silently fail | ||||||
|       # to start when it cannot write logs. This is better. Fix perms; reinstall. |       # to start when it cannot write logs. This is better. Fix perms; reinstall. | ||||||
|       touch("#{var}/log/unifi-poller.log") |       touch("#{var}/log/#{name}.log") | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def caveats |   def caveats | ||||||
|     <<-EOS |     <<-EOS | ||||||
|   This application will not work until the config file has authentication |   Edit the config file at #{etc}/#{name}/{{CONFIG_FILE}} then start #{name} with | ||||||
|   information for a UniFi Controller and an Influx Database. Edit the config |   brew services start #{name} ~ log file: #{var}/log/#{name}.log | ||||||
|   file at #{etc}/unifi-poller/up.conf then start the application with |   The manual explains the config file options: man #{name} | ||||||
|   brew services start unifi-poller ~ log file: #{var}/log/unifi-poller.log |  | ||||||
|   The manual explains the config file options: man unifi-poller |  | ||||||
|     EOS |     EOS | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  | @ -48,24 +46,24 @@ class UnifiPoller < Formula | ||||||
|          <string>#{plist_name}</string> |          <string>#{plist_name}</string> | ||||||
|          <key>ProgramArguments</key> |          <key>ProgramArguments</key> | ||||||
|          <array> |          <array> | ||||||
|              <string>#{bin}/unifi-poller</string> |              <string>#{bin}/#{name}</string> | ||||||
|              <string>-c</string> |              <string>-c</string> | ||||||
|              <string>#{etc}/unifi-poller/up.conf</string> |              <string>#{etc}/#{name}/{{CONFIG_FILE}}</string> | ||||||
|          </array> |          </array> | ||||||
|          <key>RunAtLoad</key> |          <key>RunAtLoad</key> | ||||||
|          <true/> |          <true/> | ||||||
|          <key>KeepAlive</key> |          <key>KeepAlive</key> | ||||||
|          <true/> |          <true/> | ||||||
|          <key>StandardErrorPath</key> |          <key>StandardErrorPath</key> | ||||||
|          <string>#{var}/log/unifi-poller.log</string> |          <string>#{var}/log/#{name}.log</string> | ||||||
|          <key>StandardOutPath</key> |          <key>StandardOutPath</key> | ||||||
|          <string>#{var}/log/unifi-poller.log</string> |          <string>#{var}/log/#{name}.log</string> | ||||||
|      </dict> |      </dict> | ||||||
|   </plist> |   </plist> | ||||||
|     EOS |     EOS | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   test do |   test do | ||||||
|     assert_match "unifi-poller v#{version}", shell_output("#{bin}/unifi-poller -v 2>&1", 2) |     assert_match "#{name} v#{version}", shell_output("#{bin}/#{name} -v 2>&1", 2) | ||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -4,26 +4,18 @@ | ||||||
| # Requires SSH credentials in ssh-agent to work. | # Requires SSH credentials in ssh-agent to work. | ||||||
| # Run by Travis-CI when a new release is created on GitHub. | # Run by Travis-CI when a new release is created on GitHub. | ||||||
| 
 | 
 | ||||||
| source ../.metadata.sh | source .metadata.sh | ||||||
| 
 | 
 | ||||||
| if [ -z "$VERSION" ]; then | make ${BINARY}.rb | ||||||
|   VERSION=$TRAVIS_TAG |  | ||||||
| fi |  | ||||||
| VERSION=$(echo $VERSION|tr -d v) |  | ||||||
| 
 | 
 | ||||||
| make ${BINARY}.rb VERSION=$VERSION |  | ||||||
| 
 |  | ||||||
| if [ -z "$VERSION" ]; then |  | ||||||
|   VERSION=$(grep -E '^\s+url\s+"' ${BINARY}.rb | cut -d/ -f7 | cut -d. -f1,2,3) |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| rm -rf homebrew-mugs |  | ||||||
| git config --global user.email "${BINARY}@auto.releaser" | git config --global user.email "${BINARY}@auto.releaser" | ||||||
| git config --global user.name "${BINARY}-auto-releaser" | git config --global user.name "${BINARY}-auto-releaser" | ||||||
|  | 
 | ||||||
|  | rm -rf homebrew-mugs | ||||||
| git clone git@github.com:golift/homebrew-mugs.git | git clone git@github.com:golift/homebrew-mugs.git | ||||||
| 
 | 
 | ||||||
| cp ${BINARY}.rb homebrew-mugs/Formula | cp ${BINARY}.rb homebrew-mugs/Formula | ||||||
| pushd homebrew-mugs | pushd homebrew-mugs | ||||||
| git commit -m "Update ${BINARY} on Release: ${VERSION}-${ITERATION}" Formula/${BINARY}.rb | git commit -m "Update ${BINARY} on Release: v${VERSION}-${ITERATION}" Formula/${BINARY}.rb | ||||||
| git push | git push | ||||||
| popd | popd | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| # | # | ||||||
| # Use it like this:  (sudo is optional) | # Use it like this:  (sudo is optional) | ||||||
| # === | # === | ||||||
| #   curl https://raw.githubusercontent.com/davidnewhall/unifi-poller/master/scripts/install.sh | sudo bash | #   curl https://raw.githubusercontent.com/this/repo/master/scripts/install.sh | sudo bash | ||||||
| # === | # === | ||||||
| # If you're on redhat, this installs the latest rpm. If you're on Debian, it installs the latest deb package. | # If you're on redhat, this installs the latest rpm. If you're on Debian, it installs the latest deb package. | ||||||
| # | # | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue