REPO-3335: merged the acs-community-full-packaging

This commit is contained in:
Andrei Rebegea
2018-03-09 16:08:29 +02:00
31 changed files with 1094 additions and 36 deletions

8
.gitattributes vendored Normal file
View File

@@ -0,0 +1,8 @@
.* eol=crlf
*.html eol=crlf
*.java eol=crlf
*.txt eol=crlf
*.css eol=crlf
*.xml eol=crlf
*.js eol=crlf
*.properties eol=crlf

92
README.md Normal file
View File

@@ -0,0 +1,92 @@
# Full Community Packaging for Alfresco Content Services
This project contains the code for packaging the entire Alfresco Content Services product Community edition.
## General
### Build:
* ```mvn clean install``` in the root of the project will build everything.
Note: It is not easy to build the full installer locally (and impossible on Windows) so, most likely you don't want to create the installer locally. Comment out the <module>installer</module> in the root pom.xml in order to avoid building the installer locally.
## Docker-compose & Kubernetes
Build and start Alfresco Content Services Community using docker-compose or Kubernetes, containing:
1. Alfresco Repository for community, with:
1.1. Alfresco Share Services amp
1.2. Alfresco AOS amp
1.3. Alfresco vti-bin war - that helps with AOS integration
1.4. Alfresco Google Docs Repo amp
2. Alfresco Share, with:
2.1 Alfresco Google Docks Share amp
3. A Postgres DB
4. Alfresco Solr6
### Docker Compose Instructions:
#### Prerequisite:
* Docker installed locally
* Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry.
#### Steps
1. Go to **docker-compose** folder
2. Run ```docker-compose up```
3. Check that everything starts up with the browser: http://localhost:8082/alfresco and http://localhost:8080/share and http://localhost:8083/solr/
#### Notes:
* Make sure the local machine has the ports (5432, 8080, 8082, 8083) set up in the docker-compose.yml file free.
* The images used in the docker-compose.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below
* If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created.
### Kubernetes Instructions:
#### Prerequisite:
* Deploy the infrastructure chart as specified in https://github.com/Alfresco/alfresco-infrastructure-deployment
* Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry.
* A kubernetes secret (quay-registry-secret) with the above mentioned credentials created in your cluster.
**Note!** You do not need to pull this repo in order to deploy Alfresco Content Services in Kubernetes
#### Steps
1. Run ```helm repo add alfresco-incubator http://kubernetes-charts.alfresco.com/incubator``` to add the Alfresco Kubernetes repository to helm.
2. Deploy Alfresco Content Services:
```bash
#On MINIKUBE
helm install alfresco-incubator/alfresco-content-services \
--set dnsaddress="http://$ELBADDRESS:$INFRAPORT" \
--namespace=$DESIREDNAMESPACE
#On AWS
helm install alfresco-incubator/alfresco-content-services \
--set dnsaddress="http://$ELBADDRESS" \
--namespace=$DESIREDNAMESPACE
```
3. After deploying the helm chart you will get information for obtaining the URL for repository, share and solr.
#### Notes:
* The images used in the alfresco-content-services/values.yml are images that are built in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below.
* If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you build them in the minikube docker environment and update the alfresco-content-services/values.yml with the tags that you created.
* You can also change those values when deploying the helm chart by running ```helm install alfresco-incubator/alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"```.
* Hint: Run ```eval $(minikube docker-env)``` to switch to your minikube docker environment on osx.
## Docker images
These images are used to build the images used by the docker-compose.yml project to bring up an ACS Community, similar to what the installer did/does.
The images are based on *pure* _content services_ and _share_ images done by the _acs-packaging_ and _share_ projects and adds the amps and settings necessary for running the images in a similar fashion to what the ACS deployment with the installer did/does.
### Docker Alfresco
1. Go to docker-alfreco folder
2. Run *mvn clean install* if you have not done so
3. Build the docker image: ```docker build . --tag my-acs-repo:6.0.test```
4. Check that the image has been created locally with your desired name/tag: ```docker images```
### Docker Share
1. Go to docker-share folder
2. Run *mvn clean install* if you have not done so
3. Build the docker image: ```docker build . --tag my-share:5.2.test```
4. Check that the image has been created locally with your desired name/tag: ```docker images```
## Distribution zip
In this folder the distribution zip is build. It contains all the war files, libraries, certificates and settings files you need to deploy alfresco on the supported application servers.
## Installer
In this folder the installer binaries are built for all the supported platforms.

117
distribution/pom.xml Normal file
View File

@@ -0,0 +1,117 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>full-community-packaging</artifactId>
<version>6.0.4-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>alfresco-content-services-community-full-distribution</artifactId>
<packaging>jar</packaging>
<name>Alfresco Content Services Community Full Distribution</name>
<!-- To replace in share-config-custom.xml -->
<properties>
<BITROCK_TOMCAT_PORT>8080</BITROCK_TOMCAT_PORT>
</properties>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-content-services-community-distribution</artifactId>
<type>zip</type>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-solr4-distribution</artifactId>
<type>zip</type>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-content-services-share-distribution</artifactId>
<type>zip</type>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}-${installer.version.name}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>extract-keystore</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-content-services-community-distribution</artifactId>
<type>zip</type>
</artifactItem>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-solr4-distribution</artifactId>
<type>zip</type>
<outputDirectory>${project.build.directory}/dependency/solr4</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-content-services-share-distribution</artifactId>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/assembly/full-distribution.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,56 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>distribution</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<!-- Local resources: README, etc. -->
<fileSet>
<directory>target/classes</directory>
<outputDirectory></outputDirectory>
</fileSet>
<!-- Platform Community Distribution -->
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-content-services-community-distribution-${dependency.acs-community-packaging.version}</directory>
<outputDirectory/>
</fileSet>
<!-- Solr4 Distribution -->
<fileSet>
<directory>${project.build.directory}/dependency/solr4</directory>
<outputDirectory>solr4</outputDirectory>
<excludes>
<exclude>solr4.war</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/dependency/solr4</directory>
<outputDirectory>web-server/webapps</outputDirectory>
<includes>
<include>solr4.war</include>
</includes>
</fileSet>
<!-- Share -->
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}</directory>
<outputDirectory/>
<includes>
<include>web-server/**</include>
<include>modules/**</include>
<include>amps/**</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples</directory>
<outputDirectory>web-server/shared/classes/alfresco/web-extension</outputDirectory>
</fileSet>
</fileSets>
</assembly>

View File

@@ -0,0 +1,8 @@
Alfresco Community (Build: ${installer.version.name})
===============================
Contains:
- Alfresco Content Services Community: ${dependency.acs-community-packaging.version}
- Alfresco Share: ${alfresco.share.version}
For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm

View File

@@ -0,0 +1,8 @@
FROM quay.io/alfresco/alfresco-content-services-community:latest
RUN mkdir -p /usr/local/tomcat/amps
COPY target/amps /usr/local/tomcat/amps
RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
/usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force

89
docker-alfresco/pom.xml Normal file
View File

@@ -0,0 +1,89 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>content-services-community-full-docker-alfresco</artifactId>
<name>ACS Community full Docker image builder for Alfresco</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>full-community-packaging</artifactId>
<version>6.0.4-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.share.version}</version>
<type>amp</type>
</dependency>
<dependency>
<groupId>org.alfresco.aos-module</groupId>
<artifactId>alfresco-aos-module</artifactId>
<version>${alfresco.aos-module.version}</version>
<type>amp</type>
</dependency>
<dependency>
<groupId>org.alfresco.aos-module</groupId>
<artifactId>alfresco-vti-bin</artifactId>
<version>${alfresco.aos-module.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledocs-repo</artifactId>
<version>${alfresco.googledocs.version}</version>
<type>amp</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.share.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.alfresco.aos-module</groupId>
<artifactId>alfresco-aos-module</artifactId>
<version>${alfresco.aos-module.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledocs-repo</artifactId>
<version>${alfresco.googledocs.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

2
docker-compose/.env Normal file
View File

@@ -0,0 +1,2 @@
ALFRESCO_TAG=latest
SHARE_TAG=5.2.X

View File

@@ -0,0 +1,50 @@
version: "3"
services:
alfresco:
image: quay.io/alfresco/alfresco-full-content-services-community:${ALFRESCO_TAG}
environment:
JAVA_OPTS : "
-Ddb.driver=org.postgresql.Driver
-Ddb.username=alfresco
-Ddb.password=alfresco
-Ddb.url=jdbc:postgresql://postgres:5432/alfresco
-Dsolr.host=solr6
-Dsolr.port=8983
-Dsolr.secureComms=none
-Dsolr.base.url=/solr
-Dindex.subsystem.name=solr6
"
ports:
- 8082:8080 #Browser port
share:
image: quay.io/alfresco/alfresco-full-share:${SHARE_TAG}
environment:
- REPO_HOST=alfresco
- REPO_PORT=8080
ports:
- 8080:8080
postgres:
image: docker.io/library/postgres:9.4.12
environment:
- POSTGRES_PASSWORD=alfresco
- POSTGRES_USER=alfresco
- POSTGRES_DB=alfresco
ports:
- 5432:5432
solr6:
image: quay.io/alfresco/search-services:1.2.0-SNAPSHOT
environment:
#Solr needs to know how to register itself with Alfresco
- SOLR_ALFRESCO_HOST=alfresco
- SOLR_ALFRESCO_PORT=8080
#Alfresco needs to know how to call solr
- SOLR_SOLR_HOST=solr6
- SOLR_SOLR_PORT=8983
#Create the default alfresco and archive cores
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
ports:
- 8083:8983 #Browser port

9
docker-share/Dockerfile Normal file
View File

@@ -0,0 +1,9 @@
FROM quay.io/alfresco/alfresco-share:5.2.X
RUN mkdir -p /usr/local/tomcat/amps_share
COPY target/alfresco-mmt/* /usr/local/tomcat/alfresco-mmt/
COPY target/amps_share /usr/local/tomcat/amps_share
RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
/usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force

68
docker-share/pom.xml Normal file
View File

@@ -0,0 +1,68 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>content-services-community-full-docker-share</artifactId>
<name>ACS Community full Docker image builder for Share</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>full-community-packaging</artifactId>
<version>6.0.4-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-mmt</artifactId>
<version>${dependency.alfresco-mmt.version}</version>
</dependency>
<dependency>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledocs-share</artifactId>
<version>${alfresco.googledocs.version}</version>
<type>amp</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-mmt</artifactId>
<version>${dependency.alfresco-mmt.version}</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/alfresco-mmt</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledocs-share</artifactId>
<version>${alfresco.googledocs.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps_share</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,21 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

View File

@@ -0,0 +1,13 @@
name: alfresco-content-services
version: 0.0.1
description: A Helm chart for deploying Alfresco Content Services
keywords:
- content
- content services
- alfresco
- community
- alfresco community
home: https://www.alfresco.com
sources:
- https://github.com/Alfresco/acs-community-full-packaging/tree/master/helm
icon: https://avatars0.githubusercontent.com/u/391127?s=200&v=4

View File

@@ -0,0 +1,10 @@
dependencies:
- name: postgresql
version: 0.8.5
repository: https://kubernetes-charts.storage.googleapis.com/
condition: postgresql.enabled
- name: nginx-ingress
version: ^0.8.21
repository: https://kubernetes-charts.storage.googleapis.com
condition: alfresco-content-services.nginx-ingress.enabled

View File

@@ -0,0 +1,16 @@
{{ if .Values.dnsaddress }}
You can access all components of Alfresco Content Services using the same root address, but different paths as follows:
Content: {{ .Values.dnsaddress }}/alfresco
Share: {{ .Values.dnsaddress }}/share
Solr: {{ .Values.dnsaddress }}/solr
{{ else }}
If you have a specific DNS address for the cluster please run the following commands to get the application paths:
helm upgrade --reuse-values {{ .Release.Name }} --set dnsaddress="Your DNS address ex: http://myenv.com" alfresco-incubator/alfresco-content-services
{{ end }}

View File

@@ -0,0 +1,53 @@
{{/*
Create a default fully qualified name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "content-services.fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Get the Database hostname depending on the Database type
*/}}
{{- define "database.hostname" -}}
{{- if eq ( .Values.database.type | toString ) "postgresql" }}
{{- printf "%s-%s" .Release.Name .Values.postgresql.nameOverride -}}
{{- end }}
{{- end -}}
{{/*
Get the Database port depending on the Database type
*/}}
{{- define "database.port" -}}
{{- if eq ( .Values.database.type | toString ) "postgresql" }}
{{- print .Values.postgresql.service.port -}}
{{- end }}
{{- end -}}
{{/*
Create the Database driver depending on the Database type
*/}}
{{- define "database.driver" -}}
{{- if eq ( .Values.database.type | toString ) "postgresql" }}
{{- print .Values.postgresql.driver -}}
{{- end }}
{{- end -}}
{{/*
Get the Database user depending on the Database type
*/}}
{{- define "database.user" -}}
{{- if eq ( .Values.database.type | toString ) "postgresql" }}
{{- print .Values.postgresql.postgresUser -}}
{{- end }}
{{- end -}}
{{/*
Get the Database password depending on the Database type
*/}}
{{- define "database.password" }}
{{- if eq ( .Values.database.type | toString ) "postgresql" -}}
{{- print .Values.postgresql.postgresPassword -}}
{{- end }}
{{- end -}}

View File

@@ -0,0 +1,25 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "content-services.fullname" . }}-repository-configmap
labels:
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
data:
{{- if .Values.repository.environment }}
{{- range $key, $val := .Values.repository.environment }}
{{ $key }}: {{ $val | quote }}
{{- end }}
{{- end }}
RELEASE_NAME: {{ .Release.Name }}
CATALINA_OPTS: "-Dalfresco.host={{ template "content-services.fullname" . }}-repository
-Dalfresco.port={{ .Values.repository.service.externalPort }}
-Dshare.host={{ template "content-services.fullname" . }}-share
-Dshare.port={{ .Values.share.service.externalPort }}
-Ddb.driver={{ template "database.driver" . }}
-Ddb.username={{ template "database.user" . }}
-Ddb.password={{ template "database.password" . }}
-Ddb.url=jdbc:{{ .Values.database.type }}://{{ template "database.hostname" . }}:{{ template "database.port" . }}/{{ .Values.postgresql.postgresDatabase }}
-Dsolr.host={{ template "content-services.fullname" . }}-solr
-Dsolr.port={{ .Values.solr.service.externalPort }}"

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "content-services.fullname" . }}-share-configmap
labels:
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
data:
REPO_HOST: "{{ template "content-services.fullname" . }}-repository"
REPO_PORT: "{{ .Values.repository.service.externalPort }}"

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "content-services.fullname" . }}-solr-configmap
labels:
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
data:
SOLR_ALFRESCO_HOST: "{{ template "content-services.fullname" . }}-repository"
SOLR_ALFRESCO_PORT: "{{ .Values.repository.service.externalPort }}"
SOLR_SOLR_HOST: "{{ template "content-services.fullname" . }}-solr"
SOLR_SOLR_PORT: "{{ .Values.solr.image.internalPort }}"
{{- if .Values.solr.environment }}
{{- range $key, $val := .Values.solr.environment }}
{{ $key }}: {{ $val | quote }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,34 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "content-services.fullname" . }}-repository
labels:
app: {{ template "content-services.fullname" . }}-repository
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.repository.replicaCount }}
template:
metadata:
labels:
app: {{ template "content-services.fullname" . }}-repository
release: {{ .Release.Name }}
spec:
imagePullSecrets:
- name: {{ .Values.registryPullSecrets }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.repository.image.repository }}:{{ .Values.repository.image.tag }}"
imagePullPolicy: {{ .Values.repository.image.pullPolicy }}
envFrom:
- configMapRef:
name: {{ template "content-services.fullname" . }}-repository-configmap
ports:
- containerPort: {{ .Values.repository.image.internalPort }}
resources:
{{ toYaml .Values.repository.resources | indent 12 }}
initContainers:
- name: init-db
image: busybox
command: ['sh', '-c', 'until nc -w1 {{ template "database.hostname" . }} {{ template "database.port" . }}; do echo "waiting for {{ .Values.database.type }}"; sleep 2; done;']

View File

@@ -0,0 +1,30 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "content-services.fullname" . }}-share
labels:
app: {{ template "content-services.fullname" . }}-share
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.share.replicaCount }}
template:
metadata:
labels:
app: {{ template "content-services.fullname" . }}-share
release: {{ .Release.Name }}
spec:
imagePullSecrets:
- name: {{ .Values.registryPullSecrets }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.share.image.repository }}:{{ .Values.share.image.tag }}"
imagePullPolicy: {{ .Values.share.image.pullPolicy }}
ports:
- containerPort: {{ .Values.share.image.internalPort }}
resources:
{{ toYaml .Values.share.resources | indent 12 }}
envFrom:
- configMapRef:
name: {{ template "content-services.fullname" . }}-share-configmap

View File

@@ -0,0 +1,30 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "content-services.fullname" . }}-solr
labels:
app: {{ template "content-services.fullname" . }}-solr
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.solr.replicaCount }}
template:
metadata:
labels:
app: {{ template "content-services.fullname" . }}-solr
release: {{ .Release.Name }}
spec:
imagePullSecrets:
- name: {{ .Values.registryPullSecrets }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.solr.image.repository }}:{{ .Values.solr.image.tag }}"
imagePullPolicy: {{ .Values.solr.image.pullPolicy }}
envFrom:
- configMapRef:
name: {{ template "content-services.fullname" . }}-solr-configmap
ports:
- containerPort: {{ .Values.solr.image.internalPort }}
resources:
{{ toYaml .Values.solr.resources | indent 12 }}

View File

@@ -0,0 +1,15 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ template "content-services.fullname" . }}-repository
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: {{ .Values.repository.ingress.path }}
backend:
serviceName: {{ template "content-services.fullname" . }}-repository
servicePort: {{ .Values.repository.service.externalPort }}

View File

@@ -0,0 +1,15 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ template "content-services.fullname" . }}-share
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: {{ .Values.share.ingress.path }}
backend:
serviceName: {{ template "content-services.fullname" . }}-share
servicePort: {{ .Values.share.service.externalPort }}

View File

@@ -0,0 +1,15 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ template "content-services.fullname" . }}-solr
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: {{ .Values.solr.ingress.path }}
backend:
serviceName: {{ template "content-services.fullname" . }}-solr
servicePort: {{ .Values.solr.service.externalPort }}

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "content-services.fullname" . }}-repository
labels:
app: {{ template "content-services.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
type: {{ .Values.repository.service.type }}
ports:
- port: {{ .Values.repository.service.externalPort }}
targetPort: {{ .Values.repository.image.internalPort }}
name: {{ .Values.repository.service.name }}
selector:
app: {{ template "content-services.fullname" . }}-repository
release: {{ .Release.Name }}

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "content-services.fullname" . }}-share
labels:
app: {{ template "content-services.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
type: {{ .Values.share.service.type }}
ports:
- port: {{ .Values.share.service.externalPort }}
targetPort: {{ .Values.share.image.internalPort }}
name: {{ .Values.share.service.name }}
selector:
app: {{ template "content-services.fullname" . }}-share
release: {{ .Release.Name }}

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "content-services.fullname" . }}-solr
labels:
app: {{ template "content-services.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
type: {{ .Values.solr.service.type }}
ports:
- port: {{ .Values.solr.service.externalPort }}
targetPort: {{ .Values.solr.image.internalPort }}
name: {{ .Values.solr.service.name }}
selector:
app: {{ template "content-services.fullname" . }}-solr
release: {{ .Release.Name }}

View File

@@ -0,0 +1,91 @@
# Default values for alfresco-acs.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
registryPullSecrets: quay-registry-secret
repository:
replicaCount: 1
image:
repository: quay.io/alfresco/alfresco-full-content-services-community
tag: "latest"
pullPolicy: Always
internalPort: 8080
service:
name: alfresco
type: NodePort
externalPort: 80
ingress:
path: /alfresco
environment:
JAVA_OPTS: " -Dsolr.base.url=/solr
-Dsolr.secureComms=none
-Dindex.subsystem.name=solr6"
resources:
requests:
memory: "1000Mi"
limits:
memory: "4000Mi"
share:
replicaCount: 1
image:
repository: quay.io/alfresco/alfresco-full-share
tag: "5.2.X"
pullPolicy: Always
internalPort: 8080
service:
name: share
type: NodePort
externalPort: 80
ingress:
path: /share
resources:
requests:
memory: "500Mi"
limits:
memory: "1000Mi"
solr:
replicaCount: 1
image:
repository: quay.io/alfresco/search-services
tag: "1.2.0-SNAPSHOT"
pullPolicy: IfNotPresent
internalPort: 8983
service:
name: solr
type: NodePort
externalPort: 80
ingress:
path: /solr
environment:
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
resources:
requests:
memory: "250Mi"
limits:
memory: "500Mi"
database:
type: postgresql
postgresql:
## If true, install the postgresql chart alongside Alfresco Content Services
enabled: true
nameOverride: postgresql-acs
imageTag: "9.4.12"
postgresUser: alfresco
postgresPassword: alfresco
postgresDatabase: alfresco
persistence:
existingClaim: "alfresco-volume-claim"
subPath: "alfresco-content-services/database-data"
resources:
requests:
memory: "250Mi"
limits:
memory: "500Mi"
driver: org.postgresql.Driver
replicaCount: 1

100
public-javadoc/pom.xml Normal file
View File

@@ -0,0 +1,100 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-public-javadoc</artifactId>
<name>Alfresco Content Services Public API Javadoc</name>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>full-community-packaging</artifactId>
<version>6.0.4-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<packaging>pom</packaging>
<properties>
<docflex.version>1.6.1</docflex.version>
</properties>
<dependencies>
<!-- The javadoc will be generated on the sources of these dependencies -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-remote-api</artifactId>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<classifier>classes</classifier>
<version>${alfresco.share.version}</version>
</dependency>
<!-- Downloads the docflex license -->
<dependency>
<groupId>com.docflex</groupId>
<artifactId>docflex-alfresco-license</artifactId>
<version>1.0</version>
<type>license</type>
<scope>provided</scope>
</dependency>
</dependencies>
<!-- Extracts Docflex locally -->
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Unzips the docflex/javadoc doclet -->
<execution>
<id>default-cli</id>
<inherited>false</inherited>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.docflex</groupId>
<artifactId>docflex-javadoc</artifactId>
<version>${docflex.version}</version>
<type>zip</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclet>com.docflex.javadoc.Doclet</doclet>
<docletPath>${project.build.directory}/docflex-javadoc-${docflex.version}/lib/docflex-javadoc.jar</docletPath>
<additionalparam>
-license ${settings.localRepository}/com/docflex/docflex-alfresco-license/1.0/docflex-alfresco-license-1.0.license
-template ${project.build.directory}/docflex-javadoc-${docflex.version}/templates/JavadocPro/FramedDoc.tpl
-nodialog
-launchviewer=false
-p:filter.byAnns.include.classes=org.alfresco.api.AlfrescoPublicApi
-p:docTitle "Alfresco ${project.version} Public API"
-p:windowTitle "Alfresco ${project.version} Public API"
</additionalparam>
<includeDependencySources>true</includeDependencySources>
<includeTransitiveDependencySources>true</includeTransitiveDependencySources>
<dependencySourceIncludes>
<dependencySourceInclude>org.alfresco:*</dependencySourceInclude>
</dependencySourceIncludes>
<dependencySourceExcludes>
<dependencySourceExclude>org.alfresco:alfresco-xmlfactory</dependencySourceExclude>
<dependencySourceExclude>org.alfresco:alfresco-text-gen</dependencySourceExclude>
</dependencySourceExcludes>
<excludePackageNames>org.customer,org.apache</excludePackageNames>
<!-- Uncomment to generate javadoc on Java 8
<additionalparam>-Xdoclint:none</additionalparam>
-->
</configuration>
</plugin>
</plugins>
</build>
</project>