### Login to Harpoon's Private Container Registry Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst This command initiates the login process to Harpoon's private container registry, which is a prerequisite for pushing images and enabling auto-deployment features. Users need Docker Desktop installed. ```bash docker login registry.harpooncorp.com ``` -------------------------------- ### Travis CI Configuration for Harpoon Docker Image Push Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst This .travis.yml file outlines a Travis CI pipeline for building and pushing a Docker image to the Harpoon private container registry. It configures a generic language environment, caches Docker directories, and performs a docker login, docker build, docker tag, and docker push operation. The pipeline triggers only on the master branch. Users need to ensure the HARPOON_API_TOKEN is set in the Travis CI GUI and replace the placeholder username (montana) and project name (harpoondemo) with their own values. ```yaml language: generic dist: focal cache: directories: - $HOME/.docker before_install: - sudo apt-get update - uname -r script: - echo "$HARPOON_API_TOKEN" | docker login https://registry.harpooncorp.com -u montana --password-stdin - docker build --platform linux/amd64 -t harpoondemo . - docker tag harpoondemo:latest registry.harpooncorp.com/montana/harpoondemo:latest - docker push registry.harpooncorp.com/montana/harpoondemo:latest branches: only: - master ``` -------------------------------- ### Build Windows Docker Image for Harpoon Registry Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst This command builds a Docker image optimized for Windows (amd64) platforms, preparing it for deployment to Harpoon's private container registry. Replace `NAME` with your desired image name. ```bash docker build --platform windows/amd64 -t NAME . ``` -------------------------------- ### GitHub Actions CI/CD Pipeline for Harpoon Docker Image Push Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst This YAML configuration defines a GitHub Actions workflow that triggers on pushes to the main branch. It checks out the repository, logs into the Harpoon private container registry, builds a Docker image, tags it, and pushes it to registry.harpooncorp.com//:. Upon successful completion, the associated Harpoon deployment is automatically redeployed with the latest image. Users must replace placeholders for username, image name, and ensure the HARPOON_API_TOKEN is stored in GitHub secrets. ```yaml name: Docker Login and Push on: push: branches: - main jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Log in to Docker Hub run: docker login https://registry.harpooncorp.com -u atest -p ${{ secrets.HARPOON_AIP_TOKEN }} - name: Build Docker image run: docker build --platform linux/amd64 -t harpoondemo . - name: Tag Docker image run: docker tag harpoondemo:latest registry.harpooncorp.com/atest/harpoondemo:latest - name: Push Docker image to Docker Hub run: docker push registry.harpooncorp.com/atest/harpoondemo:latest ``` -------------------------------- ### Build Linux Docker Image for Harpoon Registry Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst This command builds a Docker image optimized for Linux (amd64) platforms, preparing it for deployment to Harpoon's private container registry. Replace `NAME` with your desired image name. ```bash docker build --platform linux/amd64 -t NAME . ``` -------------------------------- ### Tag Docker Image for Harpoon Private Registry Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst Tags a Docker image with the appropriate registry, username, image name, and tag for successful pushing to Harpoon's private container registry. Replace `NAME` with your image name, `USERNAME` with your Harpoon username, and `TAG` with your desired image tag. ```bash docker tag NAME:TAG registry.harpooncorp.com/USERNAME/NAME:TAG ``` -------------------------------- ### Push Docker Image to Harpoon Private Registry Source: https://github.com/harpooncorp/docs/blob/main/docs/source/features.rst Pushes a tagged Docker image to Harpoon's private container registry. Ensure the image is correctly tagged before pushing. Replace `NAME` with your image name, `USERNAME` with your Harpoon username, and `TAG` with your desired image tag. ```bash docker push registry.harpooncorp.com/USERNAME/NAME:TAG ``` -------------------------------- ### Required AWS IAM Permissions for Harpoon Deployment Source: https://github.com/harpooncorp/docs/blob/main/docs/source/aws.rst Harpoon requires a specific set of IAM permissions to successfully provision and manage infrastructure, including Kubernetes clusters, within an AWS account. These permissions grant Harpoon the necessary access to various AWS services like RDS, IAM, EC2, VPC, S3, and KMS. ```APIDOC Required AWS IAM Permissions: - AmazonRDSFullAccess - IAMFullAccess - AmazonEC2FullAccess - AmazonVPCFullAccess - AmazonS3FullAccess - AWSKeyManagementServicePowerUser ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.