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

Improve downstream projects to more easily specify their project-specific Helm publishing repository #84

Closed
4 tasks done
chang-annie opened this issue May 20, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@chang-annie
Copy link
Contributor

chang-annie commented May 20, 2024

Currently for aiSSEMBLE downstream projects, there is no defined default helm chart publishing repository. In order to make project generation as smooth as possible, we should add the functionality to specify the helm publishing repository during project creation.

Definition of Done

  • Update archetype to allow specification of project-specific Helm publishing repository
  • Ensure that project-specific Helm repository is enabled for project-specific modules
  • Update documentation to highlight how to specify a project-specific Helm repository
  • Update release notes to manually add a private Helm repository for projects migrating from a prior version of aissemble

Test Steps

  • Make sure your dev branch is up-to-date and build the project using mvn clean install
  • Run the archetype plugin with the following commands:
cd ..

mvn archetype:generate \
    -DarchetypeGroupId=com.boozallen.aissemble \
    -DarchetypeArtifactId=foundation-archetype \
    -DarchetypeVersion=1.7.0-SNAPSHOT \
    -DgroupId=com.boozallen.test \
    -DartifactId=issue-84 \
    -DprojectGitUrl=url \
    -DprojectName=issue-84 \
    -DhelmPublishingRepositoryUrl=https://helm-publish-base-url/repository \
    -DhelmPublishingRepositoryName=my-helm-charts

cd ./issue-84
  • Run the following command to validate that the Helm publishing repository was configured into the project's helm-maven-plugin's helmPublishingRepositoryUrl variable:
% cat pom.xml | grep helm-publish-base-url  
  • Validate the response is:
 <helm.publishing.repository.url>https://helm-publish-base-url/repository</helm.publishing.repository.url>
  • Run the following command to validate that the Helm publishing repository name was configured into the project's helm-maven-plugin's helmPublishingRepositoryName variable:
% cat pom.xml | grep my-helm-charts 
  • Validate the response is:
 <helm.publishing.repository.name>my-helm-charts</helm.publishing.repository.name>
  • Validate the following sections of your project's issue-84-deploy/pom.xml file
    • the helm-maven-plugin has a new push execution goal
    <plugin>
        <groupId>${group.helm.plugin}</groupId>
        <artifactId>helm-maven-plugin</artifactId>
        <executions>
           ...
            <execution>
                <id>deploy</id>
                <phase>deploy</phase>
                <goals>
                    <goal>push</goal>
                </goals>
            </execution>
        </executions>
    
    • the helm-maven-plugin has uploadRepoStable and uploadRepoSnapshot configurations that include both the helm.publishing.repository.name and helm.publishing.repository.url properties
    <configuration>
      ...
        <uploadRepoStable>
            <name>${helm.publishing.repository.name}</name>
            <url>${helm.publishing.repository.url}</url>
        </uploadRepoStable>
        <uploadRepoSnapshot>
            <name>${helm.publishing.repository.name}</name>
            <url>${helm.publishing.repository.url}</url>
        </uploadRepoSnapshot>
       ...
    </configuration>
    
    
  • Navigate to the aissemble docs Creating a Project page
  • Validate that instructions for helmPublishingRepositoryUrl and helmPublishingRepositoryName exist and also point to the helm-maven-plugin documentation for more information about other configuration options
  • Validate that the release notes for 1.7.0 have instructions to manually update Helm chart repositories for publishing
@chang-annie chang-annie added the enhancement New feature or request label May 20, 2024
@chang-annie chang-annie self-assigned this May 20, 2024
@chang-annie chang-annie added this to the 1.7.0 milestone May 20, 2024
chang-annie added a commit that referenced this issue May 23, 2024
…shing-repo

 #84 Set Helm publishing repo for downstream projects
@chang-annie
Copy link
Contributor Author

tested and confirmed by @jacksondelametter

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

1 participant